Android 9.0 SystemUI状态栏/快捷设置介绍

Android 9.0 SystemUI状态栏/快捷设置介绍

  1. 状态栏
    状态栏是SystemUI里的重要功能之一,状态栏的一大功能就是显示功能图标,以告知用户一些最基本的信息状态,在 Android 9.0 版本中,状态栏一般包含运营商信息、时间、日期、电池、通知图标、系统图标。 为了适应刘海屏功能,android9.0 对状态栏图标的显示做了较大的修改,主要是预留出刘海的区域,防止图标被刘海遮挡。状态栏的启动过程大致如下图所示:

从流程上看,整个过程相对比较简单,主要是在 StatusBar.java 里加载相关布局,根布局是StatusBarWindowView,其中包含着三个最主要的界面---收缩形式的界面(status_bar)、展开形式的界面(status_bar_expanded)和安全锁界面(Keyguard_bouncer),最后通过 Window addView 将其显示,其主要视图结构如下图所示:

1.1 锁屏状态栏

锁屏状态栏是只有用户设置了锁屏方式为滑动或其他安全锁时才会显示,锁屏方式设置为无时不会显示,其显示是伴随着锁屏界面的,也就是只有按下 power 键或者自动息屏后才会显示。其显示逻辑是在 NotificationPanelView 来控制的。锁屏状态栏的显示效果一般如下图所示:

主要布局文件是:

Frameworks\base\packages\SystemUI\res\layout\keyguard_status_bar.xml

其本身是个 KeyguardStatusBarView,布局代码如下图所示:

1.2 状态栏

状态栏是在解锁状态下才会显示的,其显示效果大致如下图:

主要布局是 frameworks\base\packages\SystemUI\res\layout\status_bar.xml,其本身是个 PhoneStatusBarView,布局代码如下:

相关推荐
lpruoyu2 小时前
【Android第一行代码学习笔记】Android架构_四大组件_权限_持久化_通知_异步_服务
android·笔记·学习
独自破碎E3 小时前
【BISHI15】小红的夹吃棋
android·java·开发语言
李堇6 小时前
android滚动列表VerticalRollingTextView
android·java
lxysbly7 小时前
n64模拟器安卓版带金手指2026
android
游戏开发爱好者810 小时前
日常开发与测试的 App 测试方法、查看设备状态、实时日志、应用数据
android·ios·小程序·https·uni-app·iphone·webview
王码码203510 小时前
Flutter for OpenHarmony 实战之基础组件:第三十一篇 Chip 系列组件 — 灵活的标签化交互
android·flutter·交互·harmonyos
黑码哥10 小时前
ViewHolder设计模式深度剖析:iOS开发者掌握Android列表性能优化的实战指南
android·ios·性能优化·跨平台开发·viewholder
亓才孓11 小时前
[JDBC]元数据
android
独行soc11 小时前
2026年渗透测试面试题总结-17(题目+回答)
android·网络·安全·web安全·渗透测试·安全狮
金融RPA机器人丨实在智能11 小时前
Android Studio开发App项目进入AI深水区:实在智能Agent引领无代码交互革命
android·人工智能·ai·android studio