5.0SystemUI布局

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

首先来看代码结构:
5.0SystemUI布局_第1张图片

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

5.0SystemUI布局_第2张图片

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

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

5.0SystemUI布局_第3张图片

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

且看树形图

5.0SystemUI布局_第4张图片

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

看看keyguard_bouncer是个什么样。

5.0SystemUI布局_第6张图片

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

5.0SystemUI布局_第7张图片

你可能感兴趣的:(SystemUI)