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 按键 亮度对话框滑动时不能消失,点击或滑动需要动态改变亮度值和动画效果的主要内容,如果未能解决你的问题,请参考以下文章

Android 按键 调节亮度结束后,让对话框自动消失

Android 按键 调节亮度结束后,让对话框自动消失

Andrid 按键 在Settings内每按一次按键,设置中的亮度值不是等比减少/增加

Android 11.0 修复按键调节音量时,多次点击后音量对话框突然消失

Android 11.0 调节亮度结束后,使对话框自动消失

Android 按键 锁屏时禁止按键调节亮度