最近做一个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); } }
参考文档:https://blog.csdn.net/sdvch/article/details/44209959