【发布时间】:2012-08-31 12:58:17
【问题描述】:
我正在尝试向用户显示祝酒词,并在 5 秒后将屏幕调暗到最低亮度。但是画面一点都没有变暗。我的代码有什么错误吗?请帮忙。
代码:
private void DimScreen()
{
Toast.makeText(StartActivity.this, "Dimming screen in 5 seconds, press Stop button to turn on the screen", Toast.LENGTH_SHORT).show();
handler.postDelayed(r, 5000);
}
private Handler handler= new Handler();
private Runnable r = new Runnable()
{
public void run()
{
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness=0.01f;
getWindow().setAttributes(lp);
}
};
【问题讨论】:
-
你的设备是on auto brightness吗?另外,在亮度变化后加个吐司——它会显示吗?
-
没有。我在 setAttributes(lp) 之后添加了日志,它在 logcat 上正确显示。
-
我也试过吐司,它也显示出来了。
-
为什么是 0.01f?为什么不是0? developer.android.com/reference/android/view/…
-
0 会使屏幕完全变暗,当用户尝试重新打开设备时会出现锁定屏幕
标签: android