我想通过单击按钮来调整屏幕亮度,因此当背景为白色时,屏幕亮度应为最大,而如果背景为黑色,则屏幕亮度应为最小,但我得到了一个错误:NullPointerException ...
这是我的代码:
public void lamp2(boolean mode){
if(mode){
r.setBackgroundColor(Color.WHITE);
btn.setText("Turn OFF");
btn.setTextColor(Color.RED);
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness = 90 / 100.0f;
getWindow().setAttributes(lp);
this.mode = true;
}
else if(!mode){
r.setBackgroundColor(Color.BLACK);
btn.setText("Turn ON");
btn.setTextColor(Color.GREEN);
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness = 100 / 100.0f;
getWindow().setAttributes(lp);
this.mode = false;
}
}
最佳答案
将这些行最大化
WindowManager.LayoutParams params = getWindow().getAttributes();
params.screenBrightness = 1.0f;
getWindow().setAttributes(params);
将这些线放到最小
WindowManager.LayoutParams params = getWindow().getAttributes();
params.screenBrightness = 0.1f;
getWindow().setAttributes(params);
关于android - 如何设置屏幕亮度?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23316278/