Android中控制SystemUI 中任务栏的的显示与隐藏

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


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的对象进行调方法从而实现对任务栏的隐藏。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值