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

1.概述

    在13.0的系统产品开发中,对于在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/news/109677.shtml

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

相关文章

从入门到进阶 之 ElasticSearch 文档、分词器 进阶篇

🌹 以上分享 ElasticSearch 文档、分词器 进阶篇,如有问题请指教写。🌹🌹 如你对技术也感兴趣,欢迎交流。🌹🌹🌹 如有需要,请👍点赞💖收藏&#…

国际站阿里云服务器无法安装程序怎么办?

阿里云服务器是阿里云推出的一种云核算产品,它能够帮助企业和个人快速建立、扩展和管理网络服务。可是,有时候在运用阿里云服务器时,或许会遇到无法装置程序的问题。本文将具体介绍如何处理这个问题。 阿里云服务器无法装置程序或许是由多种原…

【Electron】Not allowed to load local resource

问题描述 使用 audio 标签播放音频文件,控制台报错 Not allowed to load local resource。 原因分析 通常是安全策略所引起的。Electron 默认情况下禁止加载本地资源,以防止潜在的安全风险。 解决方案 在 main.js 中找到创建 BrowserWindow 实例的代码…

latex:使用中文字体

解决方案 我这里使用的是gbsn(其他的字体我不知道,如果有补充请评价),详细说明如下:

Python学习基础笔记七十二——IDE集成开发环境

集成开发环境,英文缩写是IDE。 IDE可以帮你更高效地开发项目代码。因为它提供了非常实用的功能,比如项目文件管理、语法高亮、代码导航、自动补齐代码、语法静态检查、调试、版本控制等等。 两款IDE:Pycharm和VSCode。 pycharm中的代码文件都…

万界星空科技/生产制造执行MES系统/开源MES/免费MES

开源系统概述: 万界星空科技免费MES、开源MES、商业开源MES、市面上最好的开源MES、MES源代码、免费MES、免费智能制造系统、免费排产系统、免费排班系统、免费质检系统、免费生产计划系统、免费数字化大屏。 万界星空开源MES制造执行系统的Java开源版本。开源mes…

Qtday2

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {//窗口设置ui->setupUi(this);this->setWindowTitle("原神");this->setWindowIcon(QIcon(":/picture/genshi…

Pandas 快速入门教程

Pandas 概览 Pandas 是 Pythonopen in new window 的核心数据分析支持库,提供了快速、灵活、明确的数据结构,旨在简单、直观地处理关系型、标记型数据。Pandas 的目标是成为 Python 数据分析实践与实战的必备高级工具,其长远目标是成为最强大、最灵活、可以支持任何语言的开…

【Python第三方包】控制台进度条——让你控制台变的更漂亮(tqdm)

文章目录 前言一、什么是tqdm?二、如何使用tqdm三、tqdm的基础使用3.1 基本使用3.2 使用total参数指定总步数3.3 在列表上使用3.4 使用desc参数为进度条添加描述信息3.5 动态更新进度条3.6 定制化外观和格式自定义进度条外观讲解3.7 使用tqdm的trange函数(生成器)3.8 在文件…

JavaScript作用域的用法

作用域 外部类无法访问内部类 外部类想要访问内部类需要闭包 两个函数可以有相同的变量名 两个函数包含关系,访问被包含的函数,在其该函数的外边可访问 如果外部函数存在这个同名的函数变量,则内部函数会屏蔽外部函数的 规范&#xff1a…

在数组中合并相同id数据,并且数据中某一字段不一致也统一合并进去

封装的合并的函数 function formateArray(data:any){// ts-ignorelet res data.reduce((ac,a) > {// ts-ignorelet index ac.findIndex(x > x.id a.id);index -1 ? ac.push({...a}) : ac[index] {...ac[index],...a};return ac;},[])return res;}使用 allData 原始…

腾讯云国际站服务器如何打开音频设备?

在使用腾讯云服务器进行音频处理或直播等活动时,或许需求翻开服务器的音频设备。本文将详细介绍如安在腾讯云服务器上翻开音频设备。 在腾讯云服务器上翻开音频设备的过程如下: 登录腾讯云服务器办理控制台 1.首先,需求登录腾讯云服务器的办理…

【jmeter】接口测试流程

1、Jmeter简介 Jmeter是由Apache公司开发的一个纯Java的开源项目,即可以用于做接口测试也可以用于做性能测试。 Jmeter具备高移植性,可以实现跨平台运行。 Jmeter可以实现分布式负载。 Jmeter采用多线程,允许通过多个线程并发取样或通过独…

Cron表达式每隔两小时执行一次

Cron表达式每隔两小时执行一次 0 0 */2 * * ?验证正确性

算法刷题总结(全)

刷题总结 by lds 2023-9-5 文章目录 1.数组/字符串1.1 合并两个有序数组【easy】1.2 移除元素【easy】1.3 删除有序数组中的重复项【easy】1.4 删除有序数组中的重复项II【mid】1.5 多数元素【easy】1.6 大数相加---【美团面试手撕题目】1.7 轮转数组【mid】1.8 买卖股票的最佳…

fastadmin找不到后台控制器。登录之后找不到后台控制器

nginx加配置项 伪静态那块 location / { if (!-e KaTeX parse error: Expected }, got EOF at end of input: … rewrite ^(.*) /index.php?s 1 l a s t ; b r e a k ; r e w r i t e ( . ? p ˙ h p ) ( / . ) 1 last; break; rewrite ^(.?\.php)(/.) 1last;break;rewrit…

java 并发执行批量异步任务(Future、 CompletableFuture 实现)

文章目录 前言一、创建线程池二、Future 类并发实现三、CompletableFuture 类并发实现 前言 当我们需要批量执行一些比较耗时任务时,使用并发的方式减少业务处理的整体时间,防止客户端响应时间过长。 一、创建线程池 import org.springframework.beans…

授权专利破百,通付盾潜心精研迎接数字时代新征程

2023年10月10日,通付盾发明专利《一种零信任和保护数据隐私的数据确权系统及其方法》获得授权,至此公司授权发明专利突破100件,是公司科创属性的集中展现,也是公司成为数字化高端软件与服务提供商道路上的新里程碑。 自成立以来&a…

掌握C++魔法:深入解析类与对象(上篇)

W...Y的主页 😊 代码仓库分享 💕 🍔前言: 之前我们学习了从C语言转到C后我们需要知道的一些关键改动与变化。今天我们就要学习C独有的类与对象。在谈论类与对象之前我们先说一下什么是面向对象的C,什么是面向过程的C语…

【C++之类型转换】static_cast、dynamic_cast、const_cast、reinterpret_cast用途与限制

概述 类型转换是将一个变量的数据类型转换为另一个数据类型的过程。 在C中,有四种类型转换运算符:static_cast、dynamic_cast、const_cast和reinterpret_cast。 1. static_cast: 用途:主要用于基本数据类型和非多态类之间的转换&#xff0…