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

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

1.概述

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

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

    frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarInflaterView.javaframeworks/base/packages/SystemUI/res/values/config.xml

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


在系统systemui的导航栏的相关分析中,在构建systemui导航栏中,主要构建导航栏功能部分1.创建navigationBarView 并且把navigationBarView添加到windowManager中。
2.创建NavigationBarFragment 替换navigation_bar_window的布局文件,最终在navigation_bar.xml中,通过布局中相关的构建布局中,最终在导航栏中通过
NavigationBarInflaterView.java中来负责构建systemui导航栏布局中,接下来分析下NavigationBarInflaterView中的相关源码


   3.1 NavigationBarInflaterView.java中关于systemui导航栏布局的分析


在SystemUI导航栏添加虚拟按键功能(一)的核心功能实现中,在通过上述分析中得知

相关文章:

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

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

内存管理-分页、虚拟地址、虚拟内容、页面置换算法

文章目录 一、5W2H角度分析内存管理What是内存管理Why需要内存管理Who使用内存管理Where内存管理应用When需要内存管理How内存管理工作How much内存管理的成本 二、分页什么是分页分页的原理分页的优缺点分页的应用 三、虚拟地址什么是虚拟地址虚拟地址的作用虚拟地址的转换虚拟…...

【C++入门】命名空间详解(从零开始,冲击蓝桥杯)

C入门 命名空间 南喵小鸡汤程序员可以让步,却不可以退缩,可以羞涩,却不可以软弱,总之,程序员必须是勇敢的。一 . 命名空间的介绍二.命名空间的实际应用1.为什么要有命名空间我们在使用变量时,通常会为他定义一个名字,在…...

通过代码MyBatis-plus实现对表中createTime和updateTime进行自动更新

通过代码MyBatis-plus实现对表中createTime和updateTime进行自动更新 实现这样的效果可以在数据库中设置&#xff0c;但是我们一般建议在代码里实现&#xff0c; 但是总不能每次insert和update的时候都手写new当前时间 因此推荐使用mybatis-plus 1导入依赖 <dependency&g…...

HTML 实时显示本地电脑时间(精确到毫秒)

<!DOCTYPE html> <html> <head><title>实时显示本地电脑时间&#xff08;精确到毫秒&#xff09;</title> </head> <body><h1>本地电脑时间&#xff08;精确到毫秒&#xff09;&#xff1a;</h1><h1 id"clock&q…...

opencv跨平台arm交叉编译之ubuntu

目录 1. 安装交叉编译工具链2. 安装依赖3. 配置工具链3.1 新建build目录3.2 安装cmake-gui3.3 工具链配置界面进行配置3.3.1 终端输入以下命令3.3.2 点击Configure&#xff0c;弹出编译方式选择对话框&#xff1a;3.3.3 点击Next3.3.4 点击Finish3.3.5 点击Configure。3.3.6 Ge…...

Git命令全集

1、克隆代码 查看项目地址 git remote -v直接克隆 git clone url克隆指定分支 git clone -b 分支 git地址RPC failed错误:修改Git的传输字节限制 git config --global http.postBuffer 10485760002、查看分支 查看 git branch -a切换分支 git branch 分支名从指定分支…...

[BigData:Hadoop]:安装部署篇

文章目录 一&#xff1a;机器103设置密钥对免密登录二&#xff1a;机器102设置密钥对免密登录三&#xff1a;机器103安装Hadoop安装包3.1&#xff1a;wget拉取安装Hadoop包3.2&#xff1a;解压移到指定目录3.2.1&#xff1a;解压移动路径异常信息3.2.2&#xff1a;切换指定目录…...

ubuntu 上vscode使用cmake编译运行c++程序

参考&#xff1a;ubuntu 上vscode使用cmake编译运行c程序_vscode ubuntu运行c程序_SCH0的博客-CSDN博客 文章是对官方过程的翻译&#xff1a; Get started with CMake Tools on Linux...

Node.js 新特性 SEA/单文件可执行应用尝鲜

#1 关于 SEA 单文件可执行应用&#xff08;SEA&#xff0c;Singe Executable Applications&#xff09;&#xff0c;是 Node.js 新版本的特性&#xff0c;最初在 v19.7.0、v18.16.0 加入&#xff0c;并在 v20.x 得到扩展。而上个月发布的全家桶 Bun.js&#xff0c;就自带了 SEA…...

137.只出现一次的数字II

137. 只出现一次的数字 II - 力扣&#xff08;LeetCode&#xff09; 给你一个整数数组 nums &#xff0c;除某个元素仅出现 一次 外&#xff0c;其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法且使用常数级空间来…...

k8s-15 strogeclass

官网&#xff1a; https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner StorageClass提供了一种描述存储类 (class)的方法&#xff0c;不同的cass可能会映射到不同的服务质量等级和备份策略或其他策略等 每个 StorageClass 都包含 provisioner、parameters 和…...

微信小程序开发实战:利用差异对比显示对象属性变化

前言 在小程序开发中&#xff0c;经常会遇到需要比较两个对象之间的差异并将这些差异可视化展示在界面上的情况。这一过程对于数据管理和用户反馈至关重要。本文将介绍一种实用的方法&#xff0c;可以帮助开发者高效地比较两个对象的属性差异&#xff0c;并将这些差异以直观的方…...

Redis的GEO结构

GEO就是Geolocation的简写形式&#xff0c;代表地理坐标。Redis在3.2版本中加入了对GEO的支持&#xff0c;允许存储地理坐标信息&#xff0c;帮助我们根据经纬度来检索数据。常见的命令有&#xff1a; GEOADD&#xff1a;添加一个地理空间信息&#xff0c;包含&#xff1a;经度…...

做UI设计师是否需要美术功底?

UI确实需要一定的手绘能力&#xff0c;但是跟画画是有很大不同的。 很多人问&#xff1a;学UI需不需要手绘能力。或者学UI需要什么绘画基础。 所以今天集体回答一下。 我们先来看一下跟绘画有关系的行业&#xff1a; 漫画&#xff1a; 主要的不是绘画能力&#xff0c;更重…...

python txt or 日志等超大文本文件读取

判断文件路径是否存在 要判断一个路径文件是否存在,可以使用Python的os.path模块中的exists()函数。下面是一个示例: import os# 要检查的文件路径 file_path = "path/to/file.txt"# 使用os.path.exists()函数判断文件是否存在 if os.path.exists(file_path):pri…...

Windows:Arduino IDE 开发环境配置【保姆级】

物联网开发学习笔记——目录索引 参考官网&#xff1a;Arduino - Home Arduino是一款简单易学且功能丰富的开源平台&#xff0c;包含硬件部分&#xff08;各种型号的Arduino开发板&#xff09;和软件部分&#xff08;Arduino IDE)以及广大爱好者和专业人员共同搭建和维护的互联…...

【LeetCode 算法专题突破】双指针(⭐)

文章目录 前言1. 移动零题目描述代码 2. 复写零题目描述代码 3. 快乐数题目描述代码 4. 盛最多水的容器题目描述代码 5. 有效三角形的个数题目描述代码 6. 三数之和题目描述代码 7. 四数之和题目描述代码 总结 前言 学算法入门必学的一个章节&#xff0c;双指针算法&#xff0…...

ts知识点——基础积累

第一章 快速入门 1、TypeScript简介 TypeScript是JavaScript的超集。它对JS进行了扩展&#xff0c;向JS中引入了类型的概念&#xff0c;并添加了许多新的特性。TS代码需要通过编译器编译为JS&#xff0c;然后再交由JS解析器执行。TS完全兼容JS&#xff0c;换言之&#xff0c;…...

mybatis plus MetaObjectHandler 不生效

首先要知道,spring boot 只会加载启动类同级和下级的bean 如果把bean放在启动类不同的上级目录,是加载不了bean的 如果把mybatisplus的配置文件放在与启动类不同包,就会扫描不到 例如放在这里,就扫描不到 放到这里,就可以扫描到...

力扣第216 组合总和 ||| c++ 回溯 + 注释

题目 216. 组合总和 III 中等 相关标签 数组 回溯 找出所有相加之和为 n 的 k 个数的组合&#xff0c;且满足下列条件&#xff1a; 只使用数字1到9每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次&#xff0c;组合可以以任何顺…...

深度学习系列51:hugging face加速库optimum

1. 普通模型 Optimum是huggingface transformers库的一个扩展包&#xff0c;用来提升模型在指定硬件上的训练和推理性能。Optimum支持多种硬件&#xff0c;不同硬件下的安卓方式如下&#xff1a; 如果是国内安装的话&#xff0c;记得加上-i https://pypi.tuna.tsinghua.edu.c…...

【QT开发笔记-基础篇】| 第四章 事件QEvent | 4.6 定时器事件

本章要实现的整体效果如下&#xff1a; QT 中使用定时器&#xff0c;有两种方式&#xff1a; 定时器类&#xff1a;QTimer定时器事件&#xff1a;QEvent::Timer&#xff0c;对应的子类是 QTimerEvent 本节通过一个案例&#xff0c;同时讲解这两种方式 案例&#xff1a;当点击…...

阿里云服务器ECS实例规格族c/g/r等字母说明

阿里云服务器ECS实例命名规则&#xff1a;ecs.<规格族>.large字母含义命名说明&#xff0c;包括x86、ARM架构、GPU异构计算、弹性裸金属、超级计算集群SCC云服务器&#xff0c;c代表计算型、g代表通用型、r代表内存型、u代表通用算力型、e代表经济型e实例&#xff0c;阿里…...

Everything和SVN结合使用-在Everything中显示SVN

点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册点击跳转>Scratch编程案例点击跳转>软考全系列 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分享&…...

代码随想录算法训练营第五十二天| 123.买卖股票的最佳时机III 188.买卖股票的最佳时机IV

今日学习的文章链接和视频链接 123.买卖股票的最佳时机III 视频讲解&#xff1a;https://www.bilibili.com/video/BV1WG411K7AR https://programmercarl.com/0123.%E4%B9%B0%E5%8D%96%E8%82%A1%E7%A5%A8%E7%9A%84%E6%9C%80%E4%BD%B3%E6%97%B6%E6%9C%BAIII.html 188.买卖股票的…...

②. GPT错误:图片尺寸写入excel权限错误

꧂问题最初 ꧁ input输入图片路径 print图片尺寸 大小 长宽高 有颜色占比>0.001的按照大小排序将打印信息存储excel表格文件名 表格路径 图片大小 尺寸 颜色类型 占比信息input输入的是文件就处理文件 是文件夹&#x1f4c1;就处理文件。路径下的图片 1. 是处理本路径图片 …...

JQuery、JSON、AJAX、XML、IO流、多线程、反射核心知识点详解

JQuery 一、什么是JQuery JQuery是JavaScript的一个框架&#xff0c;对js的封装&#xff0c;使得js简单易学 优点&#xff1a; 1、不用考虑浏览器兼容性问题 2、jquery拥有强大的选择器&#xff0c;简化了js代码 3、jquery提供了很多系统函数&#xff0c;直接调用 二、版本 1.x…...

基于python的多种图像增强算法实现

基于python的多种图像增强算法实现 引言工具算法增强对比度直方图均衡化锐化图像噪声消除中值滤波均值滤波高斯滤波双边滤波增强对比度直方图均衡化总结全部资源引用引言 本项目使用python实现多种空域增强的图像增强算法,并使用了pyqt编写页面。通过点击不同页面的多种按钮,…...

Java前后端交互实现班级管理(查询)

1&#xff0c;数据库创建存储专业信息的表 2&#xff0c;后端&#xff1a; 连接数据库工具类DBUtil.java&#xff1a; package com.ffyc.webserver.util;import java.sql.*;public class DButils {static {try {Class.forName("com.mysql.cj.jdbc.Driver");} catch…...

燕郊做网站找谁/指数查询

视频效果 炫酷按钮思路&#xff1a; 大致实录就是将盒子里边的before倾斜变形&#xff0c;使其变成一个平行四边形的效果&#xff0c;然后将其缩小隐藏&#xff0c;在放大&#xff0c;添加过渡时间就会出现如图所示的效果 代码&#xff1a; <!DOCTYPE html> <html l…...

来个黑黑的网站/关键字搜索引擎

前言本文讲解了从零开始学习Python数据科学的全过程&#xff0c;涵盖各种工具和方法你将会学习到如何使用python做基本的数据分析你还可以了解机器学习算法的原理和使用说明先说一段题外话。我是一名数据工程师&#xff0c;在用SAS做分析超过5年后&#xff0c;决定走出舒适区&a…...

关于工装设计的网站/公司怎么建立自己的网站

今天又搞了下jsp servlet 的代码样例&#xff0c;感觉虽然搭了好多次&#xff0c;可是每次还是不记得那些参数&#xff0c;都要去网上搜索&#xff0c;索性自己把这次的简单demo给记录下来&#xff0c;供下次使用的时候直接复制吧。这个web逻辑 input.jsp ---->ReportServle…...

wordpress与hexo/百度网盘资源共享

Problem Description1967 年&#xff0c;美国著名的社会学家斯坦利米尔格兰姆提出了一个名为“小世界现象(small world phenomenon)”的著名假说&#xff0c;大意是说&#xff0c;任何2个素不相识的人中间最多只隔着6个人&#xff0c;即只用6个人就可以将他们联系在一起&#x…...

厦门营销型网站建设公司/东莞疫情最新消息今天新增病例

在实际的项目开发中会有非常多的对象&#xff0c;怎样高效、方便地管理对象&#xff0c;成为影响程序性能与可维护性的重要环节。Java 提供了集合框架来解决此类问题。线性表、链表、哈希表等是经常使用的数据结构&#xff0c;在进行 Java 开发时&#xff0c;JDK 已经为我们提供…...

用微信微博网站来做睡眠经济/哪个公司的网站制作

https://blog.csdn.net/xiaoshan0711/article/details/54571823 在小程序的开发过程中&#xff0c;我们会遇到一种情况&#xff0c;就是在制作五星点评的时候&#xff0c;默认五颗星星都是要亮的。这里我们就要分享一下自己做默认五星的心得。 在这里我们先看一下效果图&#x…...