赞
踩
Android系统默认都会显示顶部的状态栏和底部的导航栏,并且默认允许下拉,下面说说如何将他们都禁止掉。
状态栏其实就是SystemUI.apk,源码目录是android/frameworks/base/packages/SystemUI/,但是状态栏的隐藏并不是修改SystemUI中的内容,而是修改android/frameworks/base/core/res/res/values/dimens.xml中的内容,这个文件是整个android系统公用的,一般不直接修改,而是通过overlay机制进行覆盖修改,用到overlay又必须提到板型目录,我们知道android/device/目录下存放的是公司目录/[产品目录]/板型目录,其中产品目录是可选的,我们公司是这样的android/device/actions/s900_vr/,其中actions是公司名,s900_vr是板型名称。修改方法是:新增文件device/actions/s900_vr/overlay/frameworks/base/core/res/res/values/dimens.xml,这个文件看起来应该是这样的,当然你还可以添加其他的配置项的覆盖:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="status_bar_height">0dip</dimen>
</resources>
其中配置项status_bar_height的值设为0dip就会隐藏android系统的状态栏
导航栏其实就是屏幕下方的BACK,HOME,RECENT这3个虚拟按键,修改方法是:新增文件android/device/actions/s900_vr/overlay/frameworks/base/core/res/res/values/config.xml,这个文件看起来应该是这样的,当然你还可以添加其他的配置项的覆盖:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="config_showNavigationBar">false</bool>
</resources>
其中配置项config_showNavigationBar的值设为false就会隐藏导航栏
如果这两个文件你不知道怎么写,那就从frameworks/base/core/res/res/values/中的dimens.xml和config.xml拷贝过去,然后再修改对应的配置项的值就好了,放心,上面说的这两个配置项都在这两个文件中。
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.Java
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
2285 boolean panelsEnabled() {
2286 return (mDisabled & StatusBarManager.DISABLE_EXPAND) == 0;
2287 }
把这个函数的返回值改为false:
2285 boolean panelsEnabled() {
2286 return false;
2287 }
就可以禁止下拉,这样当你从屏幕上方往下滑动的时候,是不会显示设置和Notification的。
文献参考:
1、隐藏android系统的状态栏和导航栏
http://blog.csdn.net/lizekun2010/article/details/52473571
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。