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类中加载进来的

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值