在Android开发中,偶尔会碰到调节屏幕亮度的需求,比如 弹出一个dialog或PopupWindow时,让背景变暗。
我们可以改变Window的透明度的属性来实现。
变暗前:
屏幕变暗前.png
变暗后:
屏幕变暗后.png
详细代码如下:
/**
* 设置屏幕亮度
* @param brightness 亮度值
*/
private void setScreenBritness(int brightness){
//不让屏幕全暗
if(brightness<=10) {
brightness=10;
}
//设置当前activity的屏幕亮度
WindowManager.LayoutParams lp = this.getWindow().getAttributes();
//0到1,调整亮度暗到全亮
lp.alpha = Float.valueOf(brightness/100f);
this.getWindow().setAttributes(lp);
//更改亮度文本显示
textSbLight.setText(""+brightness+"/100");
}
小结:最开始的时候是准备用lp.screenBrightness属性来调节亮度,后来发现并不能实现效果,在网上找了找,发现可以使用lp.alpha属性来调节。
网友评论