2012-06-18 3 views
4

Я пытаюсь установить яркость экрана в андроиде полностью темным. В первый раз он работает отлично, но после яркости 0, но я вижу экран. Как сделать экран андроида полностью темным?Установите яркость экрана Android

Это мой код:

WindowManager.LayoutParams params = 

    getWindow().getAttributes(); 
    params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON; 
    params.screenBrightness = 0.0f; 
    getWindow().setAttributes(params); 
+0

Был ли предоставлен любой из ответов, которые помогут вам с вашей проблемой? – trumpetlicks

+0

Нет, они этого не сделали. – jcesarms15

ответ

4

Все экраны имеют минимальную яркость, не будучи полностью выключен. Это настройка 0.0f. Это аппаратное ограничение и зависит от телефона; нет никакого способа установить экран полностью темным с помощью аппаратного обеспечения. (Вы можете удалить подсветку, так как @ ответ trumpetlicks указывается,.)

Если вы только пытаетесь контролировать яркость для одного приложения, вы можете использовать AbsoluteLayout, чтобы содержать ваше приложение, и поместите View 100% ширину, высоту 100%, наложенную поверх всего остального, и установите ее фон на rgba(0, 0, 0, <your alpha value>). Я думаю, что это как можно ближе к затемнению.

+1

+1 для отличного ответа, который, кажется, согласен с [этот ответ] (http://stackoverflow.com/a/6877820/2930186). Следующее - хороший связанный трюк: http://stackoverflow.com/a/14280273/2930186 – ripopenid

1

Если я правильно понял ваш вопрос, у вас уже есть. То, что вы видите, является артефактом почти всех ЖК-экранов. У них есть подсветка. Поскольку у вас есть params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;, экран (и его подсветка), безусловно, будет оставаться включенным, фактические значения пикселей будут черными. Это печальное свойство ЖК-мониторов заключается в том, что их черные только черные!

Смежные вопросы