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

Android12_13左上角状态栏数字时间显示右移动

文章目录

  • 问题场景
    • 解决问题
  • 一、基础资料
  • 二、代码追踪
  • 三、解决方案
    • 布局的角度解决
      • 更改paddingStart 的默认值
      • 设置marginLeft 值
    • 硬编码的角度解决

问题场景

1)早期一般屏幕都是方形的,但是曲面屏,比如:好多车机Android产品、魔镜产品、手机产品,观察下他们的顶部左右是圆弧形的,为了美观。
2)现在大部分手机产品左上角是摄像头Camera 在顶部左边占据一定的位置,所以时间相关的就必须往右移动。比如,我截图如下:
3)好多Android产品有自己的私模,顶部左右有一些装饰的弧形遮挡物,导致左上角是看不到的。

解决问题

根据实际场景,我们需要解决的问题是,将Android顶部状态栏UI组件右移动
在这里插入图片描述

一、基础资料

其实对SystemUI有几本了解,一看就知道这个UI的位置,具体就是一个Clock,我给出之前博客中的部分基础知识,方便了解SystemUI
Android12 SystemUI QS面板新增截屏功能

重点看一下基础知识储备部分
在这里插入图片描述

二、代码追踪

我们找到顶层布局,

xref: /frameworks/base/packages/SystemUI/res/layout/status_bar.xml

在这里插入图片描述

xref: /frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java

在这里插入图片描述

三、解决方案

所以根据二中的代码追踪,我们有三种解决方案:

布局的角度解决

更改paddingStart 的默认值

在这里插入图片描述

设置marginLeft 值

硬编码的角度解决

Clock 类中,setText 地方,前面加空格不就可以了吗
在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 真正解决微信截图卡住(假死)
  • 聚焦:clicOH 借助 NVIDIA cuOpt 实现最后一英里交付速度 20 倍提升
  • 手机如何执行Python
  • 天童教育:让孩子练习独立思考
  • 【React源码解析】深入理解react时间切片和fiber架构
  • 连锁管理系统如何兼批发和零售 连锁收银系统如何配合做好财务
  • 详解ImageNet著名子数据集ILSVRC2012基于Python的下载、解析及可视化
  • 6- 【JavaWeb】Maven管理项目
  • 如何调试本地npm package
  • 【前端】Flutter vs uni-app:性能对比分析
  • 系统架构设计师: 信息安全技术
  • Wazuh的安装和基本使用
  • 日志管理之Logrotate
  • 目标检测-YOLOv2
  • nefu 转专业到计算机相关专业(软件)的个人经历分享
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • Cookie 在前端中的实践
  • es的写入过程
  • Mybatis初体验
  • ng6--错误信息小结(持续更新)
  • nodejs:开发并发布一个nodejs包
  • PAT A1120
  • Rancher如何对接Ceph-RBD块存储
  • React组件设计模式(一)
  • vagrant 添加本地 box 安装 laravel homestead
  • Vultr 教程目录
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 无服务器化是企业 IT 架构的未来吗?
  • 物联网链路协议
  • 《码出高效》学习笔记与书中错误记录
  • 进程与线程(三)——进程/线程间通信
  • ​如何在iOS手机上查看应用日志
  • # dbt source dbt source freshness命令详解
  • #{} 和 ${}区别
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (02)vite环境变量配置
  • (3)STL算法之搜索
  • (C)一些题4
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (算法设计与分析)第一章算法概述-习题
  • (一)Linux+Windows下安装ffmpeg
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • .NET CORE使用Redis分布式锁续命(续期)问题
  • .NET Framework 3.5安装教程
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .NET 将多个程序集合并成单一程序集的 4+3 种方法
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)
  • .Net6支持的操作系统版本(.net8已来,你还在用.netframework4.5吗)
  • .netcore 如何获取系统中所有session_如何把百度推广中获取的线索(基木鱼,电话,百度商桥等)同步到企业微信或者企业CRM等企业营销系统中...
  • .NET未来路在何方?
  • .NET下ASPX编程的几个小问题
  • /var/lib/dpkg/lock 锁定问题
  • ?php echo $logosrc[0];?,如何在一行中显示logo和标题?