- lp.screenBrightness 取值 0.0 ~ 1.0 設(shè)定值(float)的范圍,默認(rèn)小于 0(系統(tǒng)設(shè)定)独郎、0.0(暗)~1.0(亮)
- 調(diào)用處理的地方,例如枚赡, Activity.onCreate()等等
/**
* @param brightness [0.1,1.0] , auto -1
*/
public static void setScreenBrightness(Activity activity, float brightness) {
if (null != activity) {
WindowManager.LayoutParams lp = activity.getWindow().getAttributes();
lp.screenBrightness = brightness;
activity.getWindow().setAttributes(lp);
}
}
注:
1氓癌、b是一個(gè)浮點(diǎn)數(shù) 從0~1 ,表示亮度
2贫橙、當(dāng)我們遇到把Activity做為子Activity潛入到TabActivity 或者 ViewGroup 類容器時(shí)贪婉,通常上面的方法設(shè)置無(wú)法取得成功。
3卢肃、在子Activity中疲迂,屏幕亮度不發(fā)生改變才顿。因?yàn)檎{(diào)節(jié)亮度作用域發(fā)生了改變,之前是在Activity里面對(duì)亮度修改尤蒿。而現(xiàn)在是作為子activity對(duì)TabActivity或ViewGroup 容器進(jìn)行修改郑气。因此不能成功,需要通過(guò)getParent()方法獲取器Parent腰池,然后設(shè)置尾组。