SystemUI浅析
来源:互联网 发布:淘宝大号怎么关联小号 编辑:程序博客网 时间:2024/05/21 04:43
最近刚弄玩SystemUI的更改,记录一下,android4.4:
SystemServer(Service) -> SystemUIService(Service) -> SystemBars(class).start() -> SystemBars(class).onNoService -> SystemBars(class).createStatusBarFromConfig() -> PhoneStatusBar(class).start() ->
PhoneStatusBar(class).createAndAddWindows() -> PhoneStatusBar(class).addStatusBarWindow() -> PhoneStatusBar(class).makeStatusBarView()<此处主要是SystemUI的LAYOUT初始化,也是主要操作的地方> ->
mWindowManager.addView(mStatusBarWindow, lp)<将要显示的布局,加载到窗口显示>
启动流程的主框架基本上就是这样的。更改的地方在makeStatusBarView();
2.SystemUI的图标更新流程:(Stsusbar的系统图标更新流程)
首先是图标的初始化:
CommandQueue(class)<此类是系统级服务要更新SystemUI时的binder,也就是说,当系统要更新图标时,就会调用CommandQueue的对应方法> -> BaseStatusBar.Callbacks() -> PhoneStatusBar.Callbacks()<addIcon(),updateIcon
(),removeIcon(),addNotification(),updateNotification()...>
PhoneStatusBarPolicy(class)<此类是实现初始化statusbar系统图标的类,如果要添加默认的图标需要在此处添加> -> StatusBarManager(class系统级的服务,统筹SystemUI的图标显示)
3.SystemUI的布局(status_bar.xml)
更改的地方:将原来的布局设置为隐藏,添加现在需要显示的布局。具体查看代码部分。
4.更改状态栏的高度,显示图标等。
将原来的:@*android:dimen/status_bar_height"替换为:@dimen/add_statusbar_hieght //更改状态栏的高度 <全部替换>
在PhoneStatusBarView.makeStatusBarView()函数中:
将原来的:mIconSize = res.getDimensionPixelSize(com.android.internal.R.dimen.status_bar_icon_size); 替换为:mIconSize = res.getDimensionPixelSize(R.dimen.status_bar_icon_size); //替换ICon尺寸
dimens文件中:
将<dimen name="status_bar_icon_size">@*android:dimen/status_bar_icon_size</dimen>
替换为:
<dimen name="status_bar_icon_size">26px</dimen>
5.添加USB,SD,AUX,DISC图标的显示和刷新。
代码在:PhoneStatusBarView类中添加。
0 0
- SystemUI浅析
- systemui浅析
- Android 5.0 SystemUI浅析
- android SystemUI浅析之SystemUI启动流程
- Android 7.0 SystemUI Recent浅析
- Android 4.0 ICS SystemUI浅析——SystemUI启动流程
- Android 4.0 ICS SystemUI浅析——SystemUI启动流程
- Android 4.0 ICS SystemUI浅析——SystemUI启动流程
- Android 4.0 ICS SystemUI浅析——SystemUI启动流程
- Android 4.0 ICS SystemUI浅析——SystemUI启动流程
- Android 4.0 ICS SystemUI浅析——SystemUI启动流程
- Android 4.0 ICS SystemUI浅析——SystemUI启动流程
- Android 4.0 ICS SystemUI浅析——SystemUI启动流程
- Android 4.0 ICS SystemUI浅析——SystemUI启动流程
- Android 4.0 ICS SystemUI浅析——SystemUI启动流程
- Android 4.0 ICS SystemUI浅析——SystemUI启动流程
- Android 4.0 ICS SystemUI浅析——SystemUI启动流程
- Android 4.0 ICS SystemUI浅析——SystemUI启动流程
- ProgressDialog简单封装
- 【交换安全】DAI - Dynamic ARP Inspection 详解
- 10 scrapy框架解读--深入理解爬虫原理
- Linux shell function call Sample
- Tomcat 7最大并发连接数的正确修改方法
- SystemUI浅析
- Java中的Random()函数
- js登录界面判断输入的用户名和密码是否为空
- Eclipse安装PMD插件
- 多媒体_创建图片副本
- Java输入输出流笔记
- UNDERSTANDING ANDROID GRAPHICS INTERNALS -SURFACEFLINGER(V)
- 第一次打开matlab
- Beam Search 简介