最近做一个App要隐藏底部导航栏
调用以前的隐藏导航栏代码,发现还是不行
现象是可以滑动显示
之前的是设置显示和不显示
后来查了一下,在android4.4及以上版本中为setSystemUiVisibility()方法引入了一个新的flag:SYSTEM_UI_FLAG_IMMERSIVE
代码如下:
/**
* 隐藏或显示 导航栏
*
* @param activity
*/
public static void setNavigationBarVisible(Activity activity, boolean isHide) {
if (isHide) {
View decorView = activity.getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
| View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
} else {
View decorView = activity.getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_VISIBLE;
decorView.setSystemUiVisibility(uiOptions);
}
}