当前位置: 首页 > article >正文

RK3568 Android11 锁屏界面屏蔽下拉状态栏

参考文章:

Android R锁屏界面屏蔽下拉状态栏_pulseexpansionhandler-CSDN博客

前提增加状态栏控制显隐属性,以下面文章为前提补充功能

RK3568 Android11 状态栏和导航栏增加显示控制功能-CSDN博客

修改文件位置:

frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java

import android.os.SystemProperties;

private boolean handleQsTouch(MotionEvent event) {
        ... ...
        //  锁屏状态下根据系统设置参数控制是否屏蔽状态栏下滑的Touch事件
        boolean statusBarDisplay=SystemProperties.getBoolean(StatusBar.SYS_PROPERTY_STATUS_BAR, false);
        if (statusBarDisplay && !mQsExpandImmediate && mQsTracking) {
            onQsTouch(event);
            if (!mConflictingQsExpansionGesture) {
                return true;
            }
        }
        if (action == MotionEvent.ACTION_CANCEL || action == MotionEvent.ACTION_UP) {
            mConflictingQsExpansionGesture = false;
        }
        ... ...
    }
 
    private void setQsExpansion(float height) {
        //  锁屏状态下根据系统设置参数判断禁止对状态栏布局的设置
        boolean statusBarDisplay=SystemProperties.getBoolean(StatusBar.SYS_PROPERTY_STATUS_BAR, false);
       if(!statusBarDisplay){
                return;
        }
        height = Math.min(Math.max(height, mQsMinExpansionHeight), mQsMaxExpansionHeight);
        mQsFullyExpanded = height == mQsMaxExpansionHeight && mQsMaxExpansionHeight != 0;
        ... ...
    }
 
 
    @Override
    protected TouchHandler createTouchHandler() {
        return new TouchHandler() {
            @Override
            public boolean onInterceptTouchEvent(MotionEvent event) {
                ... ...
                if (!shouldQuickSettingsIntercept(mDownX, mDownY, 0)
                        && mPulseExpansionHandler.onInterceptTouchEvent(event)) {
                    return true;
                }
                // 锁屏状态下根据系统设置参数拦截事件分发
                boolean statusBarDisplay=SystemProperties.getBoolean(StatusBar.SYS_PROPERTY_STATUS_BAR, false);
                if (!statusBarDisplay && !isFullyCollapsed() && onQsIntercept(event)) {
                    return true;
                }
                return super.onInterceptTouchEvent(event);
            }
    }   }


http://www.kler.cn/a/505997.html

相关文章:

  • 【Linux】信号
  • 嵌入式系统Linux实时化(四)Xenomai应用开发测试
  • 懒饭 3.0.2 | 谷歌版纯净无广告教做菜软件
  • Springboot 注解缓存使用教程
  • Termora跨平台 SSH/SFTP/Terminal 客户端工具
  • 怎么实现Redis的高可用?
  • SIBR详细介绍:基于图像的渲染系统及3DGS实例展示【3DGS实验复现】
  • 金仓Kingbase客户端KStudio报OOM:Java heap space socketTimeout
  • Subprocess check_output returned non-zero exit status 1
  • APKLeaks:一款针对APK文件的数据收集与分析工具
  • Git 合并和 Git 变基有什么区别?
  • 利用Redis实现付款倒计时
  • Chapter5.4 Loading and saving model weights in PyTorch
  • 【机器学习实战入门项目】基于机器学习的鸢尾花分类项目
  • C++:工具VSCode的编译和调试文件内容:
  • Python爬虫:从入门到实践
  • 路由环路的产生原因与解决方法(1)
  • 在Android 15的设备上关闭edge-to-edge功能
  • uniapp 页面铺满屏幕
  • STM32 FreeRTOS 信号量
  • 使用docker-compose安装ELK(elasticsearch,logstash,kibana)并简单使用
  • Web基础-分层解耦-IOC与DI入门(具体的是实现步骤)
  • 遥感原理及图像处理
  • 向量数据库Milvus详解
  • day_2_排序算法和树
  • IOS工程师