获取系统当前亮度
/***
* 获取系统亮度
* @return
*/
private int getSystemBrightness() {
int systemBrightness = 0;
try {
systemBrightness = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS);
} catch (Settings.SettingNotFoundException e) {
e.printStackTrace();
}
return systemBrightness;
}
修改当前窗口亮度
修改Window的screenBrightness属性实现,其中lp.screenBrightness的取值范围是0-1,在这个范围内取值越大亮度越高,小于0或者大于1时将使用系统当前亮度
/***
* 调整屏幕亮度
* @param brightness
*/
public void changeAppBrightness(int brightness) {
Window window = this.getWindow();
WindowManager.LayoutParams lp = window.getAttributes();
if (brightness == -1) {
lp.screenBrightness = WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE;
} else {
lp.screenBrightness = (brightness <= 0 ? 1 : brightness) / 255f;
}
// lp.screenBrightness = 0.6f;
window.setAttributes(lp);
}
本文介绍了一种在Android应用中获取和调整系统亮度的方法。通过使用Settings.System接口,可以读取系统的当前亮度设置。此外,还提供了一种通过修改Window的screenBrightness属性来改变应用程序窗口亮度的方案,该属性的取值范围为0到1,取值越大亮度越高。
2900

被折叠的 条评论
为什么被折叠?



