android制作与通知栏亮度条完全同步的第三方亮度条

因为通知栏亮度条与Settings上的亮度条是一致的,当改变一方时,另一方也会同步改变。
1.Settings上的亮度条同步是在display_settings.xml里通过android.intent.action.SHOW_BRIGHTNESS_DIALOG获取;
2.而通知栏上的亮度条状态及操作在SystemUI的settings目录下,有BrightnessController.java,BrightnessDialog.java,CurrentUserTracker.java,ToggleSeekBar.java,ToggleSlider.java五个文件里;
BrightnessController.java:控制显示亮度
BrightnessDialog.java:显示亮度的Activity,实例化以上类的对象显示亮度条及状态
CurrentUserTracker.java:广播处理器,被BrightnessController调用
ToggleSeekBar.java:SeekBar控件定义
ToggleSlider.java:布局ToggleSlider定义,包含ToggleSeekBar
3.如果要实现与通知栏一致的亮度条,要在自己的Activity里调用BrightnessController的构造方法,其他关联文件搞到自己的目录就OK了;
4.开发版本要注意:android5.0与其以下版本由于操作显示不一样(android5.0在自动调节时,亮度条值会停在上一次自动停留的值上;切换到自动调节时,亮度条值会与上一次手动值一致。5.0以下在自动模式下,亮度条值停在上一次手动值上。),因此他们的代码也不同(具体可对照以上5个文件的源码),强调如果在5.0上修改,记得在Activity的start方法里调用registerCallbacks()回收状态值方法。


设置成自动调节亮度后,我们还可以手动拉一下亮度条,然后系统会以我们设置的这个亮度为基准,根据环境来适当调节亮度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值