开发文档
亮度适配说明更新时间: 2024-09-23 15:46:00
一、前言
为了使亮度调节更加细腻, MIUI在安卓P-安卓S版本对原生亮度级别进行了扩展,由原有的255级调整根据不同屏幕分别支持1023/2047/4095/8192级,在安卓T及之后版本为了符合谷歌原生api要求,将各机型等级恢复为255。开发者在进行亮度调整时需要先去确认机型亮度的最大值和最小值,然后进行比例调整。
二、机型最大和最小亮度确认方式
1、最大亮度获取方式
为了考虑兼容问题,我们建议使用PowerManager.BRIGHTNESS_ON
作为SCREEN_BRIGHTNESS
最大值,具体可参考如下写法:
try {
int maxBrightness =
(int) PowerManager.class.getDeclaredField("BRIGHTNESS_ON").get(null);
} catch (IllegalAccessException | NoSuchFieldException e) {
e.printStackTrace();
}
PowerManager.BRIGHTNESS_ON
在各个版本中均表示SCREEN_BRIGHTNESS
最大值,可解决各个版本及各个厂商机型之前兼容问题。
2、最小亮度获取方式
可通过最大值的范围来获取最小值。当最大值大于255时,即证明当前机型使用了MIUI多级调光策略,最小值为config_screenBrightnessSettingMinimum
配置值,否则该机型未使用MIUI多级调光策略,最小值统一为1。
public int getMinimumScreenBrightnessSetting() {
if (maxBrightness > 255) {
return mContext.getResources().getInteger(mContext.getResources()
.getIdentifier("config_screenBrightnessSettingMinimum", "integer", "android"));
}
return 1;
}
上一篇:
下一篇:
文档内容是否有帮助?
有帮助
无帮助