WindowManager.LayoutParams.screenBrightness, как низко вы можете пойти? - PullRequest
2 голосов
/ 24 ноября 2011

WindowManager.LayoutParams.screenBrightness принимает значение с плавающей точкой от 0 до 1.

Однако, кажется, что (по крайней мере, в Nexus S с Gingerbread) установка этого значения слишком низко вынуждаетдля полного выключения экрана.

Есть ли способ узнать, какое минимальное значение можно установить, не выключая экран?Кроме того, это число постоянно на разных устройствах?Если нет, то как мы можем получить его во время выполнения?

Вот пример кода:

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

(Это для ползунка яркости в приложении, поэтому мне нужно знать минимальное значениеиспользовать)

Спасибо

1 Ответ

4 голосов
/ 25 июня 2012

Я знаю, что это старый вопрос, но Google привел меня к этому сообщению, и я решил поделиться своим решением.Я нашел это сегодня, и это сработало для меня.Я нашел это здесь: 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);

Надеюсь, это поможет.

...