<Android>彻底去掉导航栏方法

来源:互联网 发布:耐克鞋淘宝网 编辑:程序博客网 时间:2024/06/06 10:45
[java] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. getWindow().getDecorView().setSystemUiVisibility(  
  2.                 View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);  


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

第一种方式(程序代码): 
在OnCreate里添加一行语句 
Java代码  收藏代码
  1. getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);  


在setContentView之前哦。 

过时的一个方法: 

Java代码  收藏代码
  1. getWindow().getDecorView().setSystemUiVisibility(View.STATUS_BAR_HIDDEN);  


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

Java代码  收藏代码
  1. getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_SHOW_FULLSCREEN);  


手机的话用这个: 


Java代码  收藏代码
  1. getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);  

代码的方式就是这样,不过还是有问题的,因为源码的解释有这一句 
Java代码  收藏代码
  1. * There is a limitation: because navigation controls are so important, the least user  
  2. * interaction will cause them to reappear immediately.  

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

下面介绍第二种方式,现将平板root, 然后改改两个文件 
Java代码  收藏代码
  1. $ adb remount  
  2. $ adb shell mv /system/app/SystemUI.odex /system/app/SystemUI.odexold  
  3. $ adb shell mv /system/app/SystemUI.apk /system/app/SystemUI.apkold  
  4. $ adb reboot  


或者你下一个RE文件管理器,把这两个文件重命名,然后重启,这样,你在任何程序里,包括在待机,都没有下面的 status bar 了!
0 0
原创粉丝点击