android StatusBar和NavigationBar分析
整理的比较乱,希望有所帮助。
StatusBar是手机顶部状态栏 NavigationBar是手机底部“导航栏”,即Home,back,menu键
2. 隐藏StatusBar
frameworks/base/core/res/res/values/dimens.xml
把 <dimen name="status_bar_height">25dip</dimen> 修改为<dimen name="status_bar_height">0dip</dimen>
3. 隐藏NavigationBar
frameworks/base/packages/SystemUI/src/com/android/systemui/
statusbar/phone/PhoneStatusBar.java
在start函数中注释掉 "addNavigationBar();"
这是最最简单最粗暴的修改,一般不建议这么做,同样可以修改xml文件来实现
frameworks/base/core/res/res/values/config.xml
<bool name="config_showNavigationBar">true</bool>//此处true即表示要显示NavigationBar,false表示不显示NavigationBar
还有另一种方法,通过属性设置
//属性设置可以写在init.rc内
setprop qemu.hw.mainkeys 0
如果同时设置xml和属性,那么以设置的属性会覆盖xml的设置,以属性设置为主
>>>下面简单此处代码的流程
1).首先在/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java$makeStatusBarView方法
try {
boolean showNav = mWindowManagerService.hasNavigationBar();
if (DEBUG) Log.v(TAG, "hasNavigationBar=" + showNav);
if (showNav) { //{}进而的代码用来设置view是