关于SystemUI的源码分析

24. S700平台的SystemUI源码分析:
(1) SystemUI源码结构: 
keyguard/   ---> 联系SystemUI和Keyguard之间
qs/         ---> Quick Settings 相关处理
recents/    ---> 处理最近打开的应用
statusbar/phone  ---> 控制通知显示和keyguard的状态

(2) 主要功能点对应的界面:
Status Bar  ---> 屏幕最上面显示wifi,信号强度等区域
Notification  ---> 下拉菜单区域
Navigation Bar ---> 屏幕底部的虚拟按键区域 

(3) SystemUI视图的加载流程:
SystemUI的根视图是在PhoneStatusBar的makeStatusBarView()方法中加载的,就是下面这行代码
mStatusBarWindow = (StatusBarWindowView) View.inflate(context,R.layout.super_status_bar, null);可以看出 R.layout.super_status_bar就是SystemUI的根视图,super_status_bar.xml布局文件位置是在android\frameworks\base\packages\SystemUI\res\layout\目录下,它里面的布局主要看三块,先看第一块

再看第二块 为@+id/scroll_view的ObservableScrollView类;最下面是消息通知部分视图,对应tatus_bar_expanded.xml布局文件中的id为@+id/notification_stack_scroller的NotificationStackScrollLayout类;最后看第三块keyguard_bouncer,它不是直接在layout布局里加入的,只有用户设置锁屏保护后才可见,对应KeyguardBouncer.java类,不做记录分析UI布局文件层次关系super_status_bar.xml包含进了status_bar.xml,还包含status_bar_expanded.xml,status_bar_expanded.xml包含了status_bar_expanded_header.xml

说明:以上源码是安卓5.1.1系统的SystemUI源码

你可能感兴趣的:(JNI,IT,Android,安卓)