5.0SystemUI布局

Android5.0SystemUI作了很大的改动。手机中的下拉状态栏,锁屏,通知以及最近打开任务列表等功能都是SystemUI实现的。
1,Notification 和 Quick Settings 被合并在一个界面中
2,KeyGuard和SystemUI联系更紧密了,KeyGuard作为一个Java lib库供SystemUI调用
3, Recents App采用了叠加立体式显示效果,界面更加绚丽

首先来看代码结构:
这里写图片描述

主要功能点对应的界面如下图所示:

这里写图片描述

SystemUI的根视图是在PhoneStatusBar的makeStatusBarView()方法中加载的

从layout看主要分为三块:1,PhoneStatusBarView 2,PanelHolder 3,ScrimView

这里写图片描述

PhoneStatusBarView主要用来显示系统状态、通知等,主要包括 notification icons 和 status bar icons

且看树形图

这里写图片描述

PanelHolder是用户下拉 status bar 后得到的 view。它主要包含 QuickSettings 和 Notification panel 两个部分。PanelHolder是一个继承自FrameLayout的自定义view,它的内容是通过include status_bar_expanded.xml进行填充的。PanelHolder的布局比较复杂,为了提高view的重用性大量的使用了include标签。下面是PanelHolder的view树形图, 只给出了了主要的view:
这里写图片描述

看看keyguard_bouncer是个什么样。

这里写图片描述

需要注意的是keyguard_bouncer view 有多种形式,这里设置的是图案解锁,如果设置的是密码解锁keyguard_bouncer就会以数字键盘的形式显示出来。但无论是哪种解锁模式,都是在KeyguardBouncer类中加载进来的

这里写图片描述

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页