工作中负责处理任务栏的显示与隐藏,今天貌似有点失眠出来写点经验:
主要涉及的几个类和主要处理的方法:


PhoneStatusBar.java  extends  BaseStatusBar.java(抽象类)                       implements CommandQueue.Callbacks(Callbacks是一个内部接口)                    extends IStatusBar.Stub(这是aidl, 这个我成为客户端, 服务端是:IStatusBarService.aidl)                     这部分属于实现部分,当然还有另一部分是控制部分。实现部分的操作:1. 在IStatusBar.aidl中写要实现的方法: void hideStatusBarView();  //这是隐藏任务栏。2. 根据继承关系,Command.java中自然重写方法,但这里:在Callbacks内部接口中定义该方法.3. BaseStatusBar.java是抽象类,并没有全部实现接口中方法,故这里不需要实现方法。4. PhoneStatusBar.java中则需要进行重写方法,做出具体的实现。5. 代码:      @Override           public void hideStatusBarView() {            mStatusBarWindow.setVisibility(View.GONE);         } 

  StatusBarManagerService extends IStatusBarService.Stub   在IStatusBarService中定义hideStatusBar()   在StatusBarManagerService中做了实现  : mBar.hideStatusBarView();   在PhoneWindowManager.java中进行控制:new 一个StatusBarManagerService的对象进行调方法从而实现对任务栏的隐藏。

能力有限,一些基础理解,希望对你有帮助。

更多相关文章

  1. Android(安卓)私有文件夹 文件的写入与读取
  2. Android6.0 SystemUI之网络信号栏显示刷新
  3. java.lang.Class Cast Exception: android.widget.HeaderViewLis
  4. 优化 Android(安卓)Studio 启动、编译、运行速度的方法
  5. android onSaveInstanceState方法
  6. Android(安卓)简单存储 SharedPreferencesUtils
  7. 浅析Android加载字体包及封装的方法
  8. Android与JS交互之基本
  9. 使用MediaPlayer播放声音的异常

随机推荐

  1. 目前高效的前端开发工具分享给你
  2. 面试官再问你优先级队列,请把这篇文章丢给
  3. 练习2-3 输出倒三角图案 (5分)
  4. web前端技术分享之:Canvas框架之Konva.js
  5. 一体型遥控终端单元RTU-R85G 及分布式DTU
  6. 作为业界的经典框架,设计模式如何在Spring
  7. java技术分享:jvm对java的原生锁做了哪些
  8. 【DB宝43】MySQL误操作闪回恢复利器之my2
  9. 大数据成神之路-Java高级特性增强(Concur
  10. 数据搬运组件:基于Sqoop管理数据导入和导