现在的位置: 首页 > 综合 > 正文

[Android实例] Android 4.0 平板全屏实现(一)

2013年09月04日 ⁄ 综合 ⁄ 共 1370字 ⁄ 字号 评论关闭

来自:http://www.eoeandroid.com/thread-246825-1-1.html

 

由于公司最近要做一个播放全屏的DEMO,无奈发现在平板上没有办法实现真正的全屏。查了不少资料,始终没有找到有效的方法,由于平板的系统也是我们开发的,有源码,一切就可以控制。。
    
      本着码农的钻研精神,查找相关资料,发现一个可行但是不是特别完美的方法。(原来平板的 复合栏 的位子变成黑条
     
      开工之前,首先要预习一下StatusBarManager的使用

      在了解了 StatusBarManager 的相关使用之后,就可以动手开工调用相关代码去实现全屏。
     

代码片段,双击复制
01
02
03
04
05
06
07
08
09
10
private
StatusBarManager mStatusBarManager;
        public
static final
int
hideMask = StatusBarManager.DISABLE_EXPAND
                       
| StatusBarManager.DISABLE_BACK
                       
| StatusBarManager.DISABLE_NOTIFICATION_ICONS
                       
| StatusBarManager.DISABLE_NOTIFICATION_ALERTS
                       
| StatusBarManager.DISABLE_NOTIFICATION_TICKER
                       
| StatusBarManager.DISABLE_SYSTEM_INFO
                       
| StatusBarManager.DISABLE_NAVIGATION
                       
| StatusBarManager.DISABLE_CLOCK;

     全屏:
    

代码片段,双击复制
01
mStatusBarManager.disable(hideMask);

     非全屏:
    

代码片段,双击复制
01
     mStatusBarManager.disable(StatusBarManager.DISABLE_NONE);

     通过上面两句,可以实现平板导航栏的显示/隐藏。但是,需要注意的是,要调用StatusBarManager的disable方法,应用的签名必须是 android.uid.system.而 android.uid.system 签名的应用又不能访问sdcard的相关内容,也就是说,需要将导航栏的显隐与video播放的模块分开,需要两个apk.一个的签名为android.uid.system 负责处理导航栏的显隐,另外一个apk则非system签名做video的播放。笔者所做的是,将显隐的功能放到一个 service
里面,然后在需要显隐的地方通过调用 startService 传参数给 service 做相关处理。附件中有我所写的示例。
    值得注意的是,一定要将显隐导航栏控制得非常好,不然就会出现导航栏永远不可见的情况。。

抱歉!评论已关闭.