SystemUI学习记录

2023-05-16

OS:android 7.1

由于项目需要需要对SystemUI进行定制化,需求比较紧急,没有很深入的去了解其整体代码,仅仅记录下我的用到修改记录如下:

目录中有/或者\由于在不同的系统环境拷贝,请忽略

  • 一、状态栏修改(status_bar)
  1. 1.修改状态栏高度

/android/frameworks/base/core/res/res/values/dimens.xml

<dimen name="status_bar_height">24dp</dimen>

  1. 2.修改状态栏背景

\android\frameworks\base\packages\SystemUI\res\layout\status_bar.xml

<LinearLayout android:id="@+id/status_bar_contents" 添加background即可

  1. 3.修改状态栏布局

\android\frameworks\base\packages\SystemUI\res\layout\status_bar.xml

<LinearLayout android:id="@+id/status_bar_contents"

需要的位置添加home键back键

<include layout="@layout/home" />

<include layout="@layout/back" />

修改home和back的样式

\android\frameworks\base\packages\SystemUI\res\layout\home.xml

\android\frameworks\base\packages\SystemUI\res\layout\back.xml

修改样式即可

  • 二、修改快捷设置(quick_setting下拉菜单)

项目中需要禁止下拉菜单,

\android\frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\phone\PanelBar.java

用于是下滑触摸引起的下拉,那我的做法比较暴力,直接把触摸回到返回固定false

public boolean onTouchEvent(MotionEvent event) {
return false;}

  • 三、导航栏(navigation_bar)

由于有两个交叉项目,一个是需要隐藏导航栏一个是把导航栏靠左处理

  1. 1导航栏隐藏

 /android/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java

发现里面有个 addNavigationBar();的调用

将其注释即可

  1. 2导航栏靠左

涉及到框架服务,这个需要修改到framework层的代码

\android\frameworks\base\services\core\java\com\android\server\policy\PhoneWindowManager.java

查看源码,发现导航栏的位置无非就是三种:NAV_BAR_BOTTOM NAV_BAR_RIGHT NAV_BAR_LEFT

这个由mNavigationBarPosition决定,发现其值由navigationBarPosition获得,

故我的做法又比较暴力,直接修改navigationBarPosition的返回值为NAV_BAR_LEFT

  1. 3导航栏高度

这个和状态栏类似,修改dimens.xml下面的对应值即可

<dimen name="navigation_bar_width">48dp</dimen>

 

...机器被拿走了,之后修改的待续

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SystemUI学习记录 的相关文章

  • 关于模型训练中显存占用过大的或直接报显存爆炸的解决方法

    模型训练显存爆炸解决方法 在模型训练中 xff0c 应该理解梯度 反向传播 图层 显存这些概念 xff0c 在模型训练过程中 xff0c 一般会分为训练 43 验证 43 测试 xff0c 在这些过程中 xff0c 一般在训练过程中会比较占
  • 关于archlinux的安装

    安装系统时间 xff1a 2022年9月18日 镜像版本 xff1a archlinux 2022 09 03 x86 64 iso Linux内核版本 xff1a Linux version 5 15 68 1 lts linux lts
  • SpringBoot项目在使用Maven打包war中遇到的问题

    问题描述 在使用maven打包 xff08 package xff09 springboot项目为war项目后 xff0c 在本地机器上使用Tomcat跑这个项目 xff0c 访问资源时出现下面的错误 xff1a span class to
  • 做一个完整网站的流程(独立完成个人网站)

    注 xff1a 我写这个博客的目的只是为了分享我自己做网站的流程 xff0c 不是教大家一行一行敲代码的 xff0c 如果是想学语言的基本操作 xff0c 只能自己去找视频学习了 1 购买服务器 xff08 根据自己的需求以及爱好购买 xf
  • 维修1台联想SR550服务器亮黄灯 感叹号 开不了机

    客户信息 xff1a 一个省外客户朋友公司 设备型号 xff1a Lenovo ThinkSystem SR550 故障问题 xff1a 主机前面板亮黄灯 xff0c 能开机但无法正常完成BIOS UEFI自检程序 xff0c 故障界面 x
  • Android 8.0 利用Settings.Global属性跨应用定义标志位

    需求 需要在不同应用中定义一个标志位 xff0c 这里介绍下系统级别的应用和非系统级别应用如何添加 当然这不一定是最好的办法 xff0c 因为不能够添加intent putExtra 属性 系统级别应用 在需要定义的地方使用 SystemP
  • k-近邻算法实现手写数字识别系统

    k 近邻算法实现手写数字识别系统 一 实验介绍 1 1 实验内容 本实验将会从电影题材分类的例子入手 xff0c 详细讲述k 近邻算法的原理 在这之后 xff0c 我们将会使用该算法实现手写数字识别系统 1 2 课程来源 本课程源自 图灵教
  • 调整eclipse控制台console的方法

    调整eclipse控制台console的方法 会把在用eclipse的过程中产生的问题和找到的解决方案记录一下 xff0c 以便之后再用到 今天在运行代码的时候 xff0c 突然控制台和代码并列了 然后百度了一下找到了方法 windows
  • Linux: 运行sh命令时command not found

    问题 xff1a 解决 xff1a 1 查看PATH变量 echo PATH 2 把查询出来的PATH放到sh文件中并导入
  • 修改git tag的描述信息

    今天手贱 xff0c 非要用TortoiseGit打tag xff0c 没用命令行 xff0c 结果这不是还没有学习么 xff0c 然后就出现问题了 不过好在是我自己的Toy代码 xff0c 那就看看如何解决吧 问题描述 使用Tortois
  • Linux 设置用户登录超时

    Linux 系统中使用SSH进行远程登录 xff0c 如果长时间不操作将自动注销用户的登录 原本以为在 etc ssh sshd config文件中配置 查了资料和测试只需要在shell环境变量中设置即可 span class hljs c
  • rime配置

    文件路径 AppData Rime 配置修改 default custom yaml span class hljs label customization span span class hljs label distribution c
  • matlab中(),[],与{}的区别认识

    转载自 http blog csdn net CV YOU article details 52873666 在matlab中 xff0c 常常会遇到 xff0c 和 这个3种符号怎么区分 xff0c 怎么用 xff0c 这里我来总结一下
  • WinServer2012 R2忘记密码的解决方案+远程连接另一种莫名其妙故障

    WinServer2012 R2忘记密码的解决方案 43 远程连接另一种莫名其妙故障 参考文章 xff1a xff08 1 xff09 WinServer2012 R2忘记密码的解决方案 43 远程连接另一种莫名其妙故障 xff08 2 x
  • 迅雷 应版权方要求,文件无法下载 解决方法

    迅雷 应版权方要求 xff0c 文件无法下载 解决方法 参考文章 xff1a xff08 1 xff09 迅雷 应版权方要求 xff0c 文件无法下载 解决方法 xff08 2 xff09 https www cnblogs com sui
  • redis集群搭建报错-(error) CLUSTERDOWN The cluster is down

    README 最近搭建一个redis集群 xff0c 参考博文 xff08 https www cnblogs com mafly p redis cluster html xff09 对集群配置后 xff0c master xff0c s
  • rabbitmq-通配符模式

    README 本文介绍 通配符模式 xff0c 及代码示例 1 intro to rabbitmq通配符模式 0 xff09 通配符模式 交换机类型为 Topic xff1b 1 xff09 与路由模式相比 xff0c 相同点是 两者都可以
  • springboot:BeanPostProcessor示例及分析

    README 1 xff0c 本文主要分析 BeanPostProcessor 的作用 xff0c 开发方式 xff1b 2 xff0c BeanPostProcessor 是bean后置处理器 xff0c 简而言之就是bean被创建好了
  • 字节数组转jsonobject(如读取HttpServletRequest.inputstream到jsonobject)

    README 本文po出了 如何读取 字节数组到jsonobject xff1b 字节数组如何获取 xff0c 本文不再赘述 xff1b 1 代码 64 Description 字节数组转json演示 64 author xiao tang
  • 中断屏蔽技术

    README 本文总结自bilibili 计算机组成原理 xff08 哈工大刘宏伟 xff09 的视频讲解 xff0c 非常棒 xff0c 墙裂推荐 xff1b 1 中断屏蔽 1 xff0c 中断屏蔽的意思是 xff0c 在中断1的服务程序

随机推荐