ICS 系统栏分析(一)
16lz
2021-01-24
在android的各个版本的升级中,android一直是在变化中,对比android 2.3,ICS最大的变化是新增加了一栏,叫做导航栏(Navigation Bar),还有随着导航栏 RecentTask button的而增加的RecentsPanelView。
系统栏是一个比较笼统的叫法,从UI界面上来看,系统栏包括4个部分:
l状态栏:PhoneStatesBarView,位于界面顶部,显示系统的当前状态(时间、电源、信号、通知等)。
l系统栏抽屉:ExpandedView,显示快捷开关、当前的任务、通知等。
l导航栏:NavigationBarView,位于界面的地步,用来代替硬件键盘。
l任务历史面板:RecentPanelView,用来显示最近打开的任务。
在正常工作时,只有状态栏和导航栏是一直显示的,其他的都是需要特定事件触发。
从代码结构来看,系统栏的代码可以从framework层和应用层两层来看:
应用层的主体是一个service,在SystemUIService的onCreate函数被调用时,创建了PhoneStatusBar。PhoneStatusBar是一个view的管理类,PhoneStatusBar创建了这些view,并添加到WindowManager。PhoneStatusBar继承了一个回调类——CommandQueue,在他被创建时将自己注册到了StatusBarManagerService。
StatusBarManagerService是一个系统服务,这个服务能通过回调来操作状态栏。使用时一般调用它的客户端——StatusBarManager方法。
更多相关文章
- Android(安卓)Studio 必备技巧:TODO 用法及自定义 TODO
- Android调用系统自带的设置界面
- windows系统上安装与使用Android(安卓)NDK
- 【Android(安卓)界面效果22】Android的Tab与TabHost
- Android(安卓)如何建立AIDL
- Android(安卓)Kotlin 开发--偶遇Rxjava、Retrofit进行网络请求
- android点滴(10) -- Android(安卓)app的安装和卸载
- PreferenceActivity用法简介【转】
- Android(安卓)LCD和键盘 背光亮度数据流分析