您的位置:首页 > 移动开发 > Android开发

Android 隐藏系统导航栏

2014-10-24 14:01 281 查看
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

最近在做一个平板的应用,底部的BACK HOME 还有电池WIFI的那一条STATUS_BAR设置全屏后怎么也去不掉,查找资料后,发现一个比较好的方法,在此分享 

第一种方式(程序代码): 
在OnCreate里添加一行语句 

Java代码  


getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);  

在setContentView之前哦。 

过时的一个方法: 

Java代码  


getWindow().getDecorView().setSystemUiVisibility(View.STATUS_BAR_HIDDEN);  

可能有些人的4.0API不太一样,这样做也可以 

Java代码  


getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_SHOW_FULLSCREEN);  

手机的话用这个: 

Java代码  


getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);  

代码的方式就是这样,不过还是有问题的,因为源码的解释有这一句 

Java代码  


* There is a limitation: because navigation controls are so important, the least user  

* interaction will cause them to reappear immediately.  

也就是说这玩意很重要,还是会出现!我试了一下,发现弹出 popupwindow和Dialog时就会重现下方的黑条。 

下面介绍第二种方式,现将平板root, 然后改改两个文件 

Java代码  


$ adb remount  

$ adb shell mv /system/app/SystemUI.odex /system/app/SystemUI.odexold  

$ adb shell mv /system/app/SystemUI.apk /system/app/SystemUI.apkold  

$ adb reboot  

或者你下一个RE文件管理器,把这两个文件重命名,然后重启,这样,你在任何程序里,包括在待机,都没有下面的 status bar 了! 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: