概述
微信在展示支付二维码时有一个很细心的细节-屏幕自动最高亮度,并且保持常亮,这样对方扫描时就能更方便,也能有效防止屏幕玻璃反光造成的干扰。
最近项目中涉及到这个需求,查阅相关资料,总结出最简单和适用的方法:
屏幕保持常亮
在需要常亮的窗口界面也就是Activity,它的布局文件根布局里加上android:keepScreenOn=“true”
屏幕设置最大亮度
Window是android的一个抽象类,用来描述当前应用的窗口。我们可以像普通的view一样获得window的layoutParams,然后设置里面的属性,然后设置到window里面去。
1. 首先定义一个方法setWindowBrightness
/**
* 设置当前窗口亮度
* @param brightness
*/
private void setWindowBrightness(float brightness) {
Window window = getWindow();
WindowManager.LayoutParams lp = window.getAttributes();
lp.screenBrightness = brightness;
window.setAttributes(lp);
}
2. 在Activity的onCreate生命周期里调用这个方法,调节屏幕亮度最大
//设置屏幕亮度最大
setWindowBrightness(WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_FULL);
3. 在Activity的onDestroy生命周期里调用这个方法,当离开当前窗口时,取消屏幕最亮效果
//取消屏幕最亮
setWindowBrightness(WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE);
最后
以上就是怕孤单百合为你收集整理的Android设置某个窗口常亮和最大亮度的全部内容,希望文章能够帮你解决Android设置某个窗口常亮和最大亮度所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复