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

MTK Android12 SystemUI 手势导航 隐藏导航栏底部布局

问题:android12 平台手势导航情况下,app页面未设置全屏情况下,底部导航栏会有一个高度的颜色,底部导航会有一个手势导航提示条
需求:去掉手势导航情况下底部的导航栏和手势提示条

文章目录

  • 相关资源修改
  • 问题描述
  • 解决方案
    • 代码跟踪
      • 中间提醒小方块代码查找
      • 底部手势导航条跟踪
  • 总结
  • 资源参考


相关资源修改

解决方案:底部导航栏高度设置为1, 提示条高度设置为0 或者屏蔽draw 
修改的文件如下:
vendor\mediatek\proprietary\packages\apps\SystemUI\res\values\dimens.xml
frameworks\base\packages\overlays\NavigationBarModeGesturalOverlay\res\values\dimens.xml
\vendor\mediatek\proprietary\packages\apps\SystemUI\src\com\android\systemui\navigationbar\gestural\NavigationHandle.java

问题描述

提示:如下问题,客户反馈的实际现象 观察屏幕底部条,不同界面颜色还不一致,影响了美观。

在这里插入图片描述
在这里插入图片描述

解决方案

分析:看UI显示样子应该是NavigationBar 有关系,Android10 有了手势导航之后一直存在的问题,部分Android手机端底部只显示中间的提醒小块

代码跟踪

中间提醒小方块代码查找

手势相关的代码在SystemUI app中,找到手势目录,在里面check 一下相关代码

在这里插入图片描述
找到手势底部中间的提醒块显示 在对应的类在NavigationHandle.java 类中处理的

public class NavigationHandle extends View implements ButtonInterface public NavigationHandle(Context context, AttributeSet attr) {super(context, attr);final Resources res = context.getResources();mRadius = res.getDimension(R.dimen.navigation_handle_radius);mBottom = res.getDimension(R.dimen.navigation_handle_bottom);mAdditionalWidthForAnimation =res.getDimension(R.dimen.navigation_home_handle_additional_width_for_animation);mAdditionalHeightForAnimation =res.

相关文章:

  • Tomcat 使用和配置文件(详解)
  • Spring Boot - 通过ServletRequestHandledEvent事件实现接口请求的性能监控
  • <数据集>停车场空位识别数据集<目标检测>
  • LabVIEW位移检测系统
  • 【CPP】slt-list由认识到简化模拟实现深度理解~
  • 储能集装箱动环监控系统,动环监控在集装箱的应用方案@卓振思众
  • 安科瑞Home EMS:引领家庭光储新纪元,让每一度电都尽在掌握
  • 旋转图像
  • Linux驱动开发—平台总线模型详解
  • 【多线程-从零开始-捌】阻塞队列,消费者生产者模型
  • Unity Android端截图保存并获取展示
  • Milvus向量数据库的简介以及用途
  • 怎么判断张量的维度(形状(shape)),即如何定义行数、列数和深度的?
  • ARM 架构硬件新趋势:嵌入式领域的未来
  • 【C#语音文字互转】.NET的TTS文本转语音合成
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • golang中接口赋值与方法集
  • JavaScript类型识别
  • js作用域和this的理解
  • Web Storage相关
  • 从伪并行的 Python 多线程说起
  • 关于Flux,Vuex,Redux的思考
  • 力扣(LeetCode)965
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 译自由幺半群
  • 浅谈sql中的in与not in,exists与not exists的区别
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • #pragma data_seg 共享数据区(转)
  • $LayoutParams cannot be cast to android.widget.RelativeLayout$LayoutParams
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (分布式缓存)Redis持久化
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (六)Hibernate的二级缓存
  • (转)树状数组
  • .net core 连接数据库,通过数据库生成Modell
  • .Net Core中的内存缓存实现——Redis及MemoryCache(2个可选)方案的实现
  • .NET gRPC 和RESTful简单对比
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .NET 中什么样的类是可使用 await 异步等待的?
  • .NET/C# 的字符串暂存池
  • .Net的DataSet直接与SQL2005交互
  • .NET运行机制
  • .Net转前端开发-启航篇,如何定制博客园主题
  • /var/spool/postfix/maildrop 下有大量文件
  • [ 常用工具篇 ] POC-bomber 漏洞检测工具安装及使用详解
  • [2010-8-30]
  • [Android View] 可绘制形状 (Shape Xml)
  • [AX]AX2012 AIF(四):文档服务应用实例
  • [C++] 从零实现一个ping服务
  • [C++]拼图游戏