Android 按键 亮度对话框滑动时不能消失,点击或滑动需要动态改变亮度值和动画效果
Posted 王睿丶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 按键 亮度对话框滑动时不能消失,点击或滑动需要动态改变亮度值和动画效果相关的知识,希望对你有一定的参考价值。
【思路】
- 1、在滑动回调里发送广播给 BrightnessDialog 后台进行计算,同样以BrightnessDialog 的num值作为是否关闭对话框的标准。(解决:滑动时不会消失)
- 2、在滑动回调将异步操作改为动态操作(解决:点击或滑动不能动态改变亮度值和动画效果)
frameworks/base/packages/SystemUI/src/com/android/systemui/settings/BrightnessController.java
@Override
public void onChanged(ToggleSlider toggleSlider, boolean tracking, boolean automatic,int value, boolean stopTracking)
if (mSliderAnimator != null)
mSliderAnimator.cancel();
//滑动时无法消失亮度对话框
Intent intent = new Intent("xxx.brightness");
mContext.sendBroadcast(intent);
public void onChanged(ToggleSlider toggleSlider, boolean tracking, boolean automatic,int value, boolean stopTracking)
源代码:
if (!tracking)
AsyncTask.execute(new Runnable()
public void run()
Settings.System.putFloatForUser(mContext.getContentResolver(),
settingToChange, valFloat, UserHandle.USER_CURRENT);
);
改动后:
if (!tracking)
//wangrui Cancel asynchronous operation, dynamically change with user adjustment
Settings.System.putFloatForUser(mContext.getContentResolver(),
Settings.System.SCREEN_BRIGHTNESS_FLOAT, valFloat,
UserHandle.USER_CURRENT_OR_SELF);
以上是关于Android 按键 亮度对话框滑动时不能消失,点击或滑动需要动态改变亮度值和动画效果的主要内容,如果未能解决你的问题,请参考以下文章
Andrid 按键 在Settings内每按一次按键,设置中的亮度值不是等比减少/增加