本文共 923 字,大约阅读时间需要 3 分钟。
Android屏幕设置常亮与最大亮度优化方法详解
微信在展示支付二维码时有一个很细心的细节-屏幕自动最高亮度,并且保持常亮,这样对方扫描时就能更方便,也能有效防止屏幕玻璃反光造成的干扰。这个需求也经常出现在我们的项目中,经过查阅资料总结出以下最简单和适用的方法。
一、屏幕保持常亮
在需要常亮的窗口界面也就是Activity,它的布局文件根布局里加上android:keepScreenOn=”true”
。这个属性可以让屏幕保持常亮状态,适用于需要长时间显示的界面。需要注意的是,需要在Activity的生命周期中合理地开启和关闭这个功能。
二、屏幕设置最大亮度
Window是Android的一个抽象类,用来描述当前应用的窗口。我们可以像普通的View一样获得Window的layoutParams,然后设置里面的属性,然后设置到Window里面去。
private void setWindowBrightness(float brightness) { Window window = getWindow(); WindowManager.LayoutParams lp = window.getAttributes(); lp.screenBrightness = brightness; window.setAttributes(lp);}
//设置屏幕亮度最大setWindowBrightness(WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_FULL);
//取消屏幕最亮setWindowBrightness(WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE);
通过以上方法,我们可以实现屏幕保持常亮并设置最大亮度的功能。这个方法简单有效,适用于需要长时间显示的界面。
转载地址:http://hxpr.baihongyu.com/