针对有些手机的的导航栏,无法彻底的隐藏,所以弹出的菜单会和导航栏重叠,介于此种情况,不隐藏导航栏,让菜单直接在导航栏上显示.ps: 这种情况常见于 阅读界面
获取导航栏的高度:
/**
* 获取navigationbar 的高度
* @return
*/
public int getNavigationBarHeight() {
boolean hasMenuKey = ViewConfiguration.get(this).hasPermanentMenuKey();
boolean hasBackKey = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_BACK);
//判断是否有虚拟按钮
if (!hasMenuKey) {
Resources resources = getResources();
int resourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android");
//获取NavigationBar的高度
int height = resources.getDimensionPixelSize(resourceId);
return height;
} else {
return 0;
}
}