2011-11-24 36 views
2

WindowManager.LayoutParams.screenBrightness取0和1WindowManager.LayoutParams.screenBrightness,你能走多低?

之間的浮動。然而,看來(至少在與薑餅在Nexus S)設置該值過低的力的屏幕完全關閉。

有沒有辦法知道什麼最小值可以設置,而無需關閉屏幕?此外,這個數字在不同設備上是不變的?如果沒有,我們如何能夠在運行時檢索它?

下面是一些示例代碼:

Window window = activity.getWindow(); 
WindowManager.LayoutParams lp = window.getAttributes(); 
lp.screenBrightness = 0.01f; // float between 0 and 1 
window.setAttributes(lp); 

(這是一個在應用亮度滑塊,所以我需要知道的最小值使用)

感謝

回答

3

我知道這是一個古老的問題,但谷歌帶我到這篇文章,我想我會分享我的解決方案。我今天發現了它,它對我很有用。我在這裏找到:http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#BRIGHTNESS_OVERRIDE_OFF

例子:

Window MyWindow = getWindow(); 
WindowManager.LayoutParams winParams = MyWindow.getAttributes(); 
winParams.screenBrightness = WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_OFF; 
MyWindow.setAttributes(winParams); 

我希望這有助於。