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.显示大小设置为大时,导航栏图标不显示。 设置为大,较大,最大时,导航栏图标不显示。 2.开始怀疑是导航栏被隐藏了,各种折腾无效。 3.发现: frameworks/base/pa…...

RocketMQ源码学习笔记:Producer启动流程
这是本人学习的总结,主要学习资料如下 马士兵教育rocketMq官方文档 目录 1、Overview1.1、创建MQClientInstance1.1.1、检查1.1.1、MQClientInstance的ID 1.2、MQClientInstance.start() 1、Overview 这是发送信息的代码样例, DefaultMQProducer produ…...
Node.js 和浏览器环境中都使用 WebSocket
使用WebSocket为什么不适配双端 浏览器环境本身就支持 WebSocket,直接使用 JavaScript 内置的 WebSocket 对象来建立连接。 Node中本身并没有内置 WebSocket 协议的支持,所以需要使用第三方库 ws来实现 WebSocket 功能。 一. 使用跨平台 WebSocket 库 …...

css美化滚动条样式
效果展示 实现 滚动条宽,高度 /* 整体滚动条 */ ::-webkit-scrollbar {width: 10px; }/* 滚动条轨道 */ ::-webkit-scrollbar-track {background-color: #ffffff;border-radius: 6px; }/* 滚动条滑块 */ ::-webkit-scrollbar-thumb {background-color: #888;borde…...
由浅入深,走进深度学习(补充篇:转置卷积和FCN)
本期内容是针对神经网络层结构的一个补充,主要内容是:转置卷积和全连接卷积网络 相关内容: 由浅入深,走进深度学习(2)_卷积层-CSDN博客 由浅入深,走进深度学习(补充篇:…...

Linux基础篇——目录结构
基本介绍 Linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录"/",然后在根目录下再创建其他的目录 在Linux中,有一句经典的话:在Linux世界里,一切皆文件 Linux中根目录下的目录 具体的…...
星际编码:Swifter.Json,.NET宇宙中的数据处理新星
概述 在数字化的星辰大海中,数据是宇宙的通用语言。在.NET这一广袤的星系中,JSON作为信息交换的媒介,扮演着至关重要的角色。今天,我们要探索的是一颗新星——Swifter.Json,一个功能全面且性能卓越的JSON序列化和反序列…...

python 压缩数据
requests 是 Python 中一个非常流行的 HTTP 库,用于发送各种 HTTP 请求。下面是一个使用 requests 库发送简单 GET 请求和 POST 请求的示例: 首先,确保你已经安装了 requests 库。如果还没有安装,可以使用 pip 进行安装ÿ…...

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

数据结构—判断题
1.数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的存储结构。 答案:错误 2.(neuDS)在顺序表中逻辑上相邻的元素,其对应的物理位置也是相邻的。 答案:正确 3.若一个栈的输入序列为{1, 2, 3, 4, 5},则不…...
树莓派挂载的移动硬盘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面板的拖拽移动功能
文章目录 👉一、背景👉二、效果图👉三、原理👉四、核心代码👉五,总结 👉一、背景 之前做PC项目时常常有面板拖拽移动的需求,今天总结封装一下,做成一个随时随地可复用的…...

春秋云境:CVE-2022-25411[漏洞复现]
根据题目提示和CNNVD优先寻找后台管理地址 靶机启动后,使用AWVS进行扫描查看网站结构 在这里可以看到后台管理的登录地址:/admin/,根据题目提示可知是弱口令 尝试admin、123456、admin666、admin123、admin888...等等常见弱口令 正确的账户…...

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

如何完成域名解析验证
一:什么是DNS解析: DNS解析是互联网上将人类可读的域名(如www.example.com)转换为计算机可识别的IP地址(如192.0.2.1)的过程,大致遵循以下步骤: 查询本地缓存:当用户尝…...
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月工作生活总结。 研发编码 编码和注释 因某些需要,重拾了2019年的工程代码…...

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

动手学深度学习(Pytorch版)代码实践 -计算机视觉-39实战Kaggle比赛:狗的品种识别(ImageNet Dogs)
39实战Kaggle比赛:狗的品种识别(ImageNet Dogs) 比赛链接: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. 分区硬盘(如果硬盘没有分区) 3. 格式化分区 4. 创建挂载点 5. 挂载分区 6. 验证挂载 7.设置开机自动挂载(可选) 1. 查看硬盘信息 lsblk 这个命令会列出所有的块设备,包括硬盘 2.…...

安卓短视频去水印v1.7 简洁好用
各大平台视频无水印提取,登录即永久会员! 无水印提取,图片无水印提取 视频旋转,倒放,转gif等功能。 链接:https://pan.baidu.com/s/1UgO4V16ZM34tG5uDog74Pg?pwdcn0u 提取码:cn0u...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...

高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...

HTML 列表、表格、表单
1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...

高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...

零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...

c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...