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

Android 11.0 修改系统显示大小导航栏消失

Android 11.0 修改系统显示大小导航栏消失

1.显示大小设置为大时,导航栏图标不显示。
设置为大,较大,最大时,导航栏图标不显示。

在这里插入图片描述
在这里插入图片描述
2.开始怀疑是导航栏被隐藏了,各种折腾无效。

3.发现:
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/EdgeBackGestureHandler.java中

updateCurrentUserResources方法异常,加打印:

android.util.Log.d(TAG, "updateCurrentUserResources: navigation_bar_gesture_height "+ res.getDimension(com.android.internal.R.dimen.navigation_bar_gesture_height));android.util.Log.d(TAG, "updateCurrentUserResources: navigation_bar_frame_height "+ res.getDimension(com.android.internal.R.dimen.navigation_bar_frame_height));android.util.Log.d(TAG, "updateCurrentUserResources: navigation_bar_height "+ res.getDimension(com.android.internal.R.dimen.navigation_bar_height));android.util.Log.d(TAG, "updateCurrentUserResources: defaultGestureHeight "+ defaultGestureHeight + " dm.density " + dm.density + " dm.densityDpi " + dm.densityDpi);

结果:

2024-06-24 18:33:55.932   686-686   EdgeBackGestureHandler  com.android.systemui                 D  updateCurrentUserResources: dm:DisplayMetrics{density=1.1875, width=1920, height=720, scaledDensity=1.1875, xdpi=320.0, ydpi=320.0}
2024-06-24 18:33:55.932   686-686   EdgeBackGestureHandler  com.android.systemui                 D  updateCurrentUserResources: com.android.internal.R.dimen.navigation_bar_gesture_height:17105329
2024-06-24 18:33:55.932   686-686   EdgeBackGestureHandler  com.android.systemui                 D  updateCurrentUserResources: dm.density:1.1875
2024-06-24 18:33:55.932   686-686   EdgeBackGestureHandler  com.android.systemui                 E  updateCurrentUserResources: defaultGestureHeight:48.0
2024-06-24 18:33:55.998   686-686   EdgeBackGestureHandler  com.android.systemui                 D  updateCurrentUserResources: dm:DisplayMetrics{density=1.1875, width=1920, height=720, scaledDensity=1.1875, xdpi=320.0, ydpi=320.0}
2024-06-24 18:33:55.998   686-686   EdgeBackGestureHandler  com.android.systemui                 D  updateCurrentUserResources: com.android.internal.R.dimen.navigation_bar_gesture_height:17105329
2024-06-24 18:33:55.998   686-686   EdgeBackGestureHandler  com.android.systemui                 D  updateCurrentUserResources: dm.density:1.1875
2024-06-24 18:33:55.998   686-686   EdgeBackGestureHandler  com.android.systemui                 E  updateCurrentUserResources: defaultGestureHeight:48.0
2024-06-24 18:34:02.916   686-686   EdgeBackGestureHandler  com.android.systemui                 D  updateCurrentUserResources: dm:DisplayMetrics{density=1.375, width=1920, height=720, scaledDensity=1.375, xdpi=320.0, ydpi=320.0}
2024-06-24 18:34:02.916   686-686   EdgeBackGestureHandler  com.android.systemui                 D  updateCurrentUserResources: com.android.internal.R.dimen.navigation_bar_gesture_height:17105329
2024-06-24 18:34:02.917   686-686   EdgeBackGestureHandler  com.android.systemui                 D  updateCurrentUserResources: dm.density:1.375
2024-06-24 18:34:02.917   686-686   EdgeBackGestureHandler  com.android.systemui                 E  updateCurrentUserResources: defaultGestureHeight:0.0
2024-06-24 18:34:02.959   686-686   EdgeBackGestureHandler  com.android.systemui                 D  updateCurrentUserResources: dm:DisplayMetrics{density=1.375, width=1920, height=720, scaledDensity=1.375, xdpi=320.0, ydpi=320.0}
2024-06-24 18:34:02.959   686-686   EdgeBackGestureHandler  com.android.systemui                 D  updateCurrentUserResources: com.android.internal.R.dimen.navigation_bar_gesture_height:17105329
2024-06-24 18:34:02.959   686-686   EdgeBackGestureHandler  com.android.systemui                 D  updateCurrentUserResources: dm.density:1.375
2024-06-24 18:34:02.959   686-686   EdgeBackGestureHandler  com.android.systemui                 E  updateCurrentUserResources: defaultGestureHeight:0.0

com.android.internal.R.dimen.navigation_bar_height的值为0

4.解决:

在frameworks\base\core\res\res添加文件夹:

最小宽度sw这个是Android默认的,
一般应该是这样计算(在网上也能搜索到)
adb shell wm size 得到分辨率为 1920*720
adb shell wm density 得到密度为 160
那么sw = 160 * 小的size / density = 160x720/240 = 720

frameworks/base/core/res/res/values-sw400dp/
frameworks/base/core/res/res/values-sw460dp/
frameworks/base/core/res/res/values-sw520dp/

我的机器dm.densityDpi为180,190,220,252,284,在160和190正常
所以添加以上三个,在文件夹中添加dimens.xml文件:

<resources><!-- Height of the bottom navigation / system bar. --><dimen name="navigation_bar_height">64dp</dimen><!-- Height of the bottom navigation bar in landscape; oftenthe same as @dimen/navigation_bar_height --><dimen name="navigation_bar_height_landscape">64dp</dimen></resources>

navigation_bar_height*dm.density
180的值为:48dp
190的值为:56dp
220的值为:64dp
252的值为:72dp
284的值为:80dp

相关文章:

Android 11.0 修改系统显示大小导航栏消失

Android 11.0 修改系统显示大小导航栏消失 1.显示大小设置为大时&#xff0c;导航栏图标不显示。 设置为大&#xff0c;较大&#xff0c;最大时&#xff0c;导航栏图标不显示。 2.开始怀疑是导航栏被隐藏了&#xff0c;各种折腾无效。 3.发现&#xff1a; frameworks/base/pa…...

RocketMQ源码学习笔记:Producer启动流程

这是本人学习的总结&#xff0c;主要学习资料如下 马士兵教育rocketMq官方文档 目录 1、Overview1.1、创建MQClientInstance1.1.1、检查1.1.1、MQClientInstance的ID 1.2、MQClientInstance.start() 1、Overview 这是发送信息的代码样例&#xff0c; DefaultMQProducer produ…...

Node.js 和浏览器环境中都使用 WebSocket

使用WebSocket为什么不适配双端 浏览器环境本身就支持 WebSocket&#xff0c;直接使用 JavaScript 内置的 WebSocket 对象来建立连接。 Node中本身并没有内置 WebSocket 协议的支持&#xff0c;所以需要使用第三方库 ws来实现 WebSocket 功能。 一. 使用跨平台 WebSocket 库 …...

css美化滚动条样式

效果展示 实现 滚动条宽&#xff0c;高度 /* 整体滚动条 */ ::-webkit-scrollbar {width: 10px; }/* 滚动条轨道 */ ::-webkit-scrollbar-track {background-color: #ffffff;border-radius: 6px; }/* 滚动条滑块 */ ::-webkit-scrollbar-thumb {background-color: #888;borde…...

由浅入深,走进深度学习(补充篇:转置卷积和FCN)

本期内容是针对神经网络层结构的一个补充&#xff0c;主要内容是&#xff1a;转置卷积和全连接卷积网络 相关内容&#xff1a; 由浅入深&#xff0c;走进深度学习&#xff08;2&#xff09;_卷积层-CSDN博客 由浅入深&#xff0c;走进深度学习&#xff08;补充篇&#xff1a…...

Linux基础篇——目录结构

基本介绍 Linux的文件系统是采用级层式的树状目录结构&#xff0c;在此结构中的最上层是根目录"/"&#xff0c;然后在根目录下再创建其他的目录 在Linux中&#xff0c;有一句经典的话&#xff1a;在Linux世界里&#xff0c;一切皆文件 Linux中根目录下的目录 具体的…...

星际编码:Swifter.Json,.NET宇宙中的数据处理新星

概述 在数字化的星辰大海中&#xff0c;数据是宇宙的通用语言。在.NET这一广袤的星系中&#xff0c;JSON作为信息交换的媒介&#xff0c;扮演着至关重要的角色。今天&#xff0c;我们要探索的是一颗新星——Swifter.Json&#xff0c;一个功能全面且性能卓越的JSON序列化和反序列…...

python 压缩数据

requests 是 Python 中一个非常流行的 HTTP 库&#xff0c;用于发送各种 HTTP 请求。下面是一个使用 requests 库发送简单 GET 请求和 POST 请求的示例&#xff1a; 首先&#xff0c;确保你已经安装了 requests 库。如果还没有安装&#xff0c;可以使用 pip 进行安装&#xff…...

nacos在k8s上的集群安装实践

目录 概述实践nfs安装使用 k8s持久化nacos安装创建角色部署数据库执行数据库初始化语句部署nacos ingress效果展示问题修复 结束 概述 本文主要对 nacos 在k8s上的集群安装 进行说明与实践。主要版本信息&#xff0c;k8s: 1.27.x&#xff0c;nacos: 2.0.3。运行环境为 centos 7…...

数据结构—判断题

1.数据的逻辑结构说明数据元素之间的顺序关系&#xff0c;它依赖于计算机的存储结构。 答案&#xff1a;错误 2.(neuDS)在顺序表中逻辑上相邻的元素&#xff0c;其对应的物理位置也是相邻的。 答案&#xff1a;正确 3.若一个栈的输入序列为{1, 2, 3, 4, 5}&#xff0c;则不…...

树莓派挂载的移动硬盘badblocks坏道屏蔽,以这个为准

!!!use 这里要设置块大小和磁盘相同 badblocks -b 4096 -s -c 512 -v -o /a/2/bads4.txt /dev/sda5 检测完重新检测跳过之前的记录 badblocks -i /a/2/bads4.txt -b 4096 -s -c 512 -v -o /a/2/bads5.txt /dev/sda5 可以查看磁盘具体block总数和大小 sudo dumpe2fs /dev/sda5 …...

Unity开箱即用的UGUI面板的拖拽移动功能

文章目录 &#x1f449;一、背景&#x1f449;二、效果图&#x1f449;三、原理&#x1f449;四、核心代码&#x1f449;五&#xff0c;总结 &#x1f449;一、背景 之前做PC项目时常常有面板拖拽移动的需求&#xff0c;今天总结封装一下&#xff0c;做成一个随时随地可复用的…...

春秋云境:CVE-2022-25411[漏洞复现]

根据题目提示和CNNVD优先寻找后台管理地址 靶机启动后&#xff0c;使用AWVS进行扫描查看网站结构 在这里可以看到后台管理的登录地址&#xff1a;/admin/&#xff0c;根据题目提示可知是弱口令 尝试admin、123456、admin666、admin123、admin888...等等常见弱口令 正确的账户…...

java基础知识点全集

JAVA的所有知识点 一、基础的数组、数据类型、输入输出二、类与对象1. 三大特征&#xff08;1&#xff09; 封装&#xff08;2&#xff09;继承&#xff08;3&#xff09;多态 2. 类的实例化&#xff08;1&#xff09; 类通过NEW来创建&#xff08;2&#xff09; 类的继承&…...

如何完成域名解析验证

一&#xff1a;什么是DNS解析&#xff1a; DNS解析是互联网上将人类可读的域名&#xff08;如www.example.com&#xff09;转换为计算机可识别的IP地址&#xff08;如192.0.2.1&#xff09;的过程&#xff0c;大致遵循以下步骤&#xff1a; 查询本地缓存&#xff1a;当用户尝…...

2024年6月个人工作生活总结

title: 2024年6月个人工作生活总结 urlname: code-for-2024-06 tags: 代码积累知识总结 categories:我的程序代码 date: 2024-06-30 00:00:00 photos:gallery/tech/c2.jpg 本文为 2024年6月工作生活总结。 研发编码 编码和注释 因某些需要&#xff0c;重拾了2019年的工程代码…...

Json与Java类

简介 JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的数据交换格式&#xff0c;易于人阅读和编写&#xff0c;同时也易于机器解析和生成。JSON数据由键值对构成&#xff0c;并以易于阅读的文本形式展现&#xff0c;支持数组、对象、字符串、数字、布尔值…...

动手学深度学习(Pytorch版)代码实践 -计算机视觉-39实战Kaggle比赛:狗的品种识别(ImageNet Dogs)

39实战Kaggle比赛&#xff1a;狗的品种识别&#xff08;ImageNet Dogs&#xff09; 比赛链接&#xff1a;Dog Breed Identification | Kaggle 1.导入包 import torch from torch import nn import collections import math import os import shutil import torchvision from…...

在Linux系统中挂载硬盘

目录 1. 查看硬盘信息 2. 分区硬盘&#xff08;如果硬盘没有分区&#xff09; 3. 格式化分区 4. 创建挂载点 5. 挂载分区 6. 验证挂载 7.设置开机自动挂载&#xff08;可选&#xff09; 1. 查看硬盘信息 lsblk 这个命令会列出所有的块设备&#xff0c;包括硬盘 2.…...

安卓短视频去水印v1.7 简洁好用

各大平台视频无水印提取&#xff0c;登录即永久会员&#xff01; 无水印提取&#xff0c;图片无水印提取 视频旋转&#xff0c;倒放&#xff0c;转gif等功能。 链接&#xff1a;https://pan.baidu.com/s/1UgO4V16ZM34tG5uDog74Pg?pwdcn0u 提取码&#xff1a;cn0u...

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界&#xff0c;看笔记好好学多敲多打&#xff0c;每个人都是大神&#xff01; 题目&#xff1a;KubeSphere 容器平台高可用&#xff1a;环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

Appium+python自动化(十六)- ADB命令

简介 Android 调试桥(adb)是多种用途的工具&#xff0c;该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具&#xff0c;其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利&#xff0c;如安装和调试…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet&#xff0c;点击确认后如下提示 最终上报fail 解决方法 内核升级导致&#xff0c;需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法&#xff0c;用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理&#xff0c;能够自动确定一个阈值&#xff0c;将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课&#xff0c;做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程&#xff0c;它的核心机制是 Goroutine 协程、Channel 通道&#xff0c;并基于CSP&#xff08;Communicating Sequential Processes&#xff0…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中&#xff0c;有时需要在系统启动时自动执行某些命令&#xff0c;特别是需要 sudo权限的指令。为了实现这一功能&#xff0c;可以使用多种方法&#xff0c;包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法&#xff0c;并提供…...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心&#xff0c;JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例&#xff1a; 1. onclick - 点击事件 当元素被单击时触发&#xff08;左键点击&#xff09; button.onclick function() {alert("按钮被点击了&#xff01;&…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

&#x1f680; C extern 关键字深度解析&#xff1a;跨文件编程的终极指南 &#x1f4c5; 更新时间&#xff1a;2025年6月5日 &#x1f3f7;️ 标签&#xff1a;C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言&#x1f525;一、extern 是什么&#xff1f;&…...