【问题标题】:Set Android screen brightness设置安卓屏幕亮度
【发布时间】:2012-06-18 22:07:55
【问题描述】:
我正在尝试将 android 中的屏幕亮度设置为完全黑暗。第一次效果很好,但是在亮度为0之后,我可以看到屏幕。如何让安卓屏幕全黑?
这是我的代码:
WindowManager.LayoutParams params =
getWindow().getAttributes();
params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness = 0.0f;
getWindow().setAttributes(params);
【问题讨论】:
标签:
android
brightness
screen-brightness
【解决方案1】:
所有屏幕都具有最低亮度,但不会完全关闭。这是设置0.0f。这是硬件限制,因手机而异;无法使用硬件将屏幕设置为完全黑暗。 (您可以移除背光,正如@trumpetlicks 的回答所指出的那样。)
如果您只是想控制一个应用的亮度,您可以使用 AbsoluteLayout 来包含您的应用,并放置一个 100% 宽度、100% 高度的 View,覆盖在其他所有内容之上,并将其背景设置为rgba(0, 0, 0, <your alpha value>)。我认为这是尽可能接近调光。
【解决方案2】:
如果我正确理解了您的问题,那么您已经知道了。您所看到的是几乎所有 LCD 类型屏幕的神器。他们有背光。既然你有params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;,屏幕(和它的背光)肯定会保持打开状态,输出的实际像素值将是黑色的。这是 LCD 的一个不幸特性,即它们的黑色只有这么黑!