Android 如何实现亮度自动调节

practitioner5758 23 0 pdf 2021-07-26 17:07:48

下拉状态栏有个亮度的进度条,如果开启了亮度自动调节开关,会随着周围光线变化,这个进度条也会随着变化,接下来就是看看这个功能是如何实现的。源码版本基于 Android 9.0 分析。BrightnessDialog,位于:ToggleSliderView,位于:DisplayPowerController,位于:AutomaticBrightnessController,位于:BrightnessMappingStrategy,概述状态栏里亮度页面是 BrightnessDialog,其中进度条设置是 ToggleSliderView,亮度自动调节主要是 DisplayPowerController 和 AutomaticBrightnessController 两个类,当亮度发生变化时,如果关联到 ToggleSliderView,用的是 ContentObserver,Uri 为 Settings.System.SCREEN_AUTO_BRIGHTNESS_ADJ。DisplayPowerController 属于 Display 模块,其控制设备屏幕亮灭、背光、与Power关系密切,这里主要看下屏幕亮度的控制这方面的逻辑。这样了解了 autoBrightnessAdjustment,接下来看 newAutoBrightnessAdjustment。

Android 如何实现亮度自动调节

Android 如何实现亮度自动调节

Android 如何实现亮度自动调节

Android 如何实现亮度自动调节

Android 如何实现亮度自动调节

Android 如何实现亮度自动调节

Android 如何实现亮度自动调节

Android 如何实现亮度自动调节

Android 如何实现亮度自动调节

Android 如何实现亮度自动调节

用户评论
请输入评论内容
评分:
暂无评论