android調整螢幕亮度
阿新 • • 發佈:2019-02-15
一:只改變當前程式android螢幕亮度
(1)方法:
lp.screenBrightness 取值 0.0 -- 1.0 ※設定值(float)的範圍,預設小於 0(系統設定)、0.0(暗)~1.0(亮) ※呼叫處理的地方,例如, Activity.onCreate()等等
程式碼:
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness = 1.0f;
getWindow().setAttributes(lp);
注:1、b是一個浮點數 從0~1 ,表示亮度
2、當我們遇到把Activity做為子Activity潛入到TabActivity 或者 ViewGroup 類容器時,通常上面的方法設定無法取得成功。
在子Activity中,螢幕亮度不發生改變。因為調節亮度作用域發生了改變,之前是在Activity裡面對亮度修改。 而現在是作為子activity對TabActivity或ViewGroup 容器進行修改。 因此不能成功,需要通過getParent()方法獲取器Parent,然後設定。 3、
(2)恢復
當離開當前Acitivity時,螢幕亮度會恢復到原先的亮度。另外將lp.screenBrightness 設為 -1(WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE),也會讓螢幕恢復到原先的亮度(即系統設定)。
(3)最小亮度 在G3(CM6)上,將螢幕設定到最低亮度值是0.004(精度0.001),這時螢幕基本全黑,但仍能控制。低於0.0
(1)方法:
lp.screenBrightness 取值 0.0 -- 1.0 ※設定值(float)的範圍,預設小於 0(系統設定)、0.0(暗)~1.0(亮) ※呼叫處理的地方,例如, Activity.onCreate()等等
程式碼:
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness = 1.0f;
getWindow().setAttributes(lp);
注:1、b是一個浮點數 從0~1 ,表示亮度
2、當我們遇到把Activity做為子Activity潛入到TabActivity 或者 ViewGroup 類容器時,通常上面的方法設定無法取得成功。
在子Activity中,螢幕亮度不發生改變。因為調節亮度作用域發生了改變,之前是在Activity裡面對亮度修改。 而現在是作為子activity對TabActivity或ViewGroup 容器進行修改。 因此不能成功,需要通過getParent()方法獲取器Parent,然後設定。 3、
(2)恢復
(3)最小亮度 在G3(CM6)上,將螢幕設定到最低亮度值是0.004(精度0.001),這時螢幕基本全黑,但仍能控制。低於0.0