android修改当前窗口的亮度
16lz
2021-01-23
获取系统当前亮度
/*** * 获取系统亮度 * @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】判断某个AP是否在系统中存在(PackageManager与Package
- 《Android系统学习》第十章:Android消息处理、消息循环和消息队列
- 查看Android系统信息的项目
- Android x86 4.4-r5 分支修改笔记——系统定制
- Android Service 系统服务
- Android == 在Android系统上运行JAVA程序
- Android系统信息获取 之九:TelephonyManager类
- 《Android系统开发》笔记
- Android系统启动执行jar程序