android 14.0 SystemUI导航栏添加虚拟按键功能(三)

1.概述

    在14.0的系统ROM产品定制化开发中,对于在SystemUI的原生系统中默认只有三键导航,想添加其他虚拟按键就需要先在构建导航栏的相关布局
中分析结构,然后添加相关的图标xml就可以了,然后添加对应的点击事件,就可以了,接下来先分析第三步关于导航栏的相关布局情况
然后实现虚拟按键的点击事件功能

2.SystemUI导航栏添加虚拟按键功能(三)的核心类

    frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.javaframeworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.javaframeworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/ButtonDispatcher.java

3.SystemUI导航栏添加虚拟按键功能(三)的核心功能分析和实现


在Android应用程序中,导航栏是用户与应用程序交互的重要部分之一,而在导航栏的xml布局中发现,NavigationBarView.java就是导航栏的核心布局文件,
在Android应用开发中,NavigationBarView 是一个用于显示导航栏的视图组件。导航栏通常位于屏幕底部,提供了返回按钮、菜单按钮等常用的界面导航功能,
NavigationBarFragment.java负责来加载NavigationBarView.java就是导航栏的核心布局文件,而在ButtonDispatcher.java中主要负责对导航栏虚拟按键的
事件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/7986.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

try-catch-finally-return的执行顺序和try-with-resource语法糖

try-catch-finally-return的执行顺序 总结如下几条情况 try-catch-finally都有return语句时,没有异常时,返回值是finally中的return返回的。 执行try块,执行到return语句时,先执行return的语句但是不返回到main方法,执…

鸿蒙内核源码分析(时间管理篇) | 谁是内核基本时间单位

时间概念太重要了,在鸿蒙内核又是如何管理和使用时间的呢? 时间管理以系统时钟 g_sysClock 为基础,给应用程序提供所有和时间有关的服务。 用户以秒、毫秒为单位计时.操作系统以Tick为单位计时,这个认识很重要. 每秒的tick大小很大程度上决…

Linux:进程等待 进程替换

Linux:进程等待 & 进程替换 进程等待wait接口statuswaitpid接口 进程替换exec系列接口 当一个进程死亡后,会变成僵尸进程,此时进程的PCB被保留,等待父进程将该PCB回收。那么父进程要如何回收这个僵尸进程的PCB呢?父…

js实现json数据可编辑

背景 项目中有低代码平台,由于历史脏数据和非同步编辑的问题,偶尔会出现数据错乱的问题,希望有一个快捷的方式修改数据 之前在用Formily的时候有注意到designable/react 里面的json数据编辑功能非常不错如果能应用到项目里就完美了 design…

【数据结构】二叉树知识点详解

树的概念 树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一个具有层次关系的集合有一个特殊的结点,称为根结点,根节点没有前驱结点除根节点外,其余结点被分成M(M>0)个互不相交的集合T1、T2、…

【贪心算法】单源最短路径Python实现

文章目录 [toc]问题描述Dijkstra算法Dijkstra算法的正确性贪心选择性质最优子结构性质 Dijkstra算法应用示例Python实现时间复杂性 问题描述 给定一个带权有向图 G ( V , E ) G (V , E) G(V,E),其中每条边的权是非负实数,给定 V V V中的一个顶点&…

K8S RBAC 鉴权

介绍 K8S(Kubernetes)的RBAC(Role-Based Access Control,基于角色的访问控制)是一种权限控制机制,它允许管理员通过定义角色来限制用户对集群资源的访问权限。RBAC是Kubernetes中一个核心的授权策略&#…

@Valid 和 @Validated 注解使用和区别

概述 这两个注解的作用都是简化 校验 Valid Spring 注解 Maven 依赖 如果是springboot项目&#xff0c;这个依赖存在于web开发包里面&#xff0c;如下 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starte…

【busybox记录】【shell指令】expand

目录 内容来源&#xff1a; 【GUN】【expand】指令介绍 【busybox】【expand】指令介绍 【linux】【expand】指令介绍 使用示例&#xff1a; 把制表符转化为空格 - 默认输出 把制表符转化为空格 - 修改制表符转空格的个数 把制表符转化为空格 - 修改制表符转空格的个数…

四川易点慧电子商务抖音小店:潜力无限的新零售风口

在当今数字化浪潮中&#xff0c;电子商务已经成为推动经济发展的重要引擎。四川易点慧电子商务有限公司凭借其敏锐的市场洞察力和创新精神&#xff0c;成功在抖音小店这一新兴平台上开辟出一片新天地。本文将探讨四川易点慧电子商务抖音小店的潜力及其在新零售领域的影响力。 一…

多C段的美国站群服务器有什么用途?

多C段的美国站群服务器有什么用途? 多C段的美国站群服务器是一种常见的网络运营策略&#xff0c;其用途主要体现在以下几个方面&#xff1a; 多C段的美国站群服务器有什么用途? 1. 提高站点排名和流量 部署多个站点在不同的C段IP地址上&#xff0c;可以通过不同的IP地址发布…

OpenGrok使用

以前都是用的find&#xff0c;或者VScode里面的浏览&#xff0c;但是到了Android这个就不行了&#xff0c;代码太多了。都在用OpenGrok&#xff0c;所以俺也用一下。 这里有两个步骤&#xff0c;一个是安装&#xff0c;是一个使用。 1 安装 大概看了一下&#xff0c;安装是to…

关于Clion开发stm32printf重定向问题简单解决问题方法

title: 关于Clion开发stm32printf重定向问题简单解决问题方法 tags: STM32Clion 参考来源1 这是另一种方法 在printf 重定向的基础上加上 一句 setbuf(stdout,NULL); 参考来源2 自己写的笔记啦

小语言模型的潜力

想象一下这样一个世界&#xff1a;智能助手不在云端&#xff0c;而是在你的手机上&#xff0c;无缝了解你的需求并以闪电般的速度做出响应。这不是科幻小说&#xff0c;而是科幻小说。这是小语​​言模型 (SLM) 的希望&#xff0c;这是一个快速发展的领域&#xff0c;有可能改变…

【一起深度学习——批量规范化】

批量规范化 1、为啥要批量规范化呢&#xff1f;2、如何批量规范化呢&#xff1f;3、实现批量归一化。4、定义BatchNorm层&#xff1a;5、定义神经网络&#xff1a;6、开始训练&#xff1a; 1、为啥要批量规范化呢&#xff1f; 1、可持续加速深层网络的收敛速度。 2、对于深层网…

罗德与施瓦茨 SMC100A信号发生器9kHz至3.2 GHz

罗德与施瓦茨 SMC100A信号发生器&#xff0c;9 kHz - 3.2 GHz 罗德与施瓦茨 SMC100A 以极具吸引力的价格提供出色的信号质量。它覆盖的频率范围为 9 kHz 至 1.1 GHz 或 3.2 GHz。输出功率为典型值。> 17 dBm。所有重要功能&#xff08;AM/FM/φM/脉冲调制&#xff09;均已集…

代码随想录算法训练营第六十天| 647. 回文子串,516.最长回文子序列,动态规划总结篇

题目与题解 参考资料&#xff1a;动态规划总结篇 647. 回文子串 题目链接&#xff1a;647. 回文子串 代码随想录题解&#xff1a;647. 回文子串 视频讲解&#xff1a;动态规划&#xff0c;字符串性质决定了DP数组的定义 | LeetCode&#xff1a;647.回文子串_哔哩哔哩_bilibili …

【Camera2完整流程分析三】从Log角度跟踪分析原生Camera2相机分析相机拍照流程

一,概述 通过阅读本篇文件后,你会了解到原生Camera2的从app层到framework,再到camera service层,最后到Hal3层的完整代码架构和代码流程。学习本篇文章后可以对拍照take picture快速上手,并能通过log跟踪来快速分析和定位问题,具体知识点的如下: 1,Camera2在app层摄像…

【busybox记录】【shell指令】unexpand

目录 内容来源&#xff1a; 【GUN】【unexpand】指令介绍 【busybox】【unexpand】指令介绍 【linux】【unexpand】指令介绍 使用示例&#xff1a; 空格转化成制表符 - 默认输出 空格转化成制表符 - 转换所有的空格 空格转化成制表符 - 指定制表位 常用组合指令&#…

项目提交到空的git仓库流程

流程&#xff1a; # 初始化 Git 仓库 git init # 如果遇到 "detected dubious ownership" 的错误&#xff0c;可以添加 safe.directory 配置以解决 git config --global --add safe.directory T:/project/heima-leadnews # 将当前目录下的所有文件添加到 Git 暂存区…