Android隐藏状态栏、导航栏
private void hideStatusNavigationBar(){if(Build.VERSION.SDK_INT<16){this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);}else{int uiFlags = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION| View.SYSTEM_UI_FLAG_FULLSCREEN //hide statusBar| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION; //hide navigationBargetWindow().getDecorView().setSystemUiVisibility(uiFlags);}}
Android 动态隐藏显示导航栏,状态栏
一、导航栏:
private void hideNavigationBar() {View decorView = getWindow().getDecorView();int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION| View.SYSTEM_UI_FLAG_FULLSCREEN;decorView.setSystemUiVisibility(uiOptions);}private void showNavigationBar() {View decorView = getWindow().getDecorView();int uiOptions = View.SYSTEM_UI_FLAG_VISIBLE;decorView.setSystemUiVisibility(uiOptions);}
相关:
| Attr | Des |
|---|---|
| SYSTEM_UI_FLAG_VISIBLE | 显示状态栏和导航栏 |
| SYSTEM_UI_FLAG_LOW_PROFILE | 此模式下,状态栏的图标可能是暗的 |
| SYSTEM_UI_FLAG_HIDE_NAVIGATION | 隐藏导航栏 |
| SYSTEM_UI_FLAG_FULLSCREEN | 全屏,隐藏状态栏和导航栏 |
| SYSTEM_UI_FLAG_LAYOUT_STABLE | |
| SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | |
| SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | 全屏,隐藏导航栏,状态栏浮在布局上 |
| SYSTEM_UI_FLAG_IMMERSIVE | 沉浸式:半透明的状态栏和导航栏 |
| SYSTEM_UI_FLAG_IMMERSIVE_STICKY | 粘性沉浸式 |
二、状态栏:
private void setStatusBarVisible(boolean show) {if (show) {int uiFlags = View.SYSTEM_UI_FLAG_LAYOUT_STABLE;uiFlags |= 0x00001000;getWindow().getDecorView().setSystemUiVisibility(uiFlags);} else {int uiFlags = View.SYSTEM_UI_FLAG_LAYOUT_STABLE| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN| View.SYSTEM_UI_FLAG_FULLSCREEN;uiFlags |= 0x00001000;getWindow().getDecorView().setSystemUiVisibility(uiFlags);}}
三、导航栏和状态栏
private void setSystemUIVisible(boolean show) {if (show) {int uiFlags = View.SYSTEM_UI_FLAG_LAYOUT_STABLE;uiFlags |= 0x00001000;getWindow().getDecorView().setSystemUiVisibility(uiFlags);} else {int uiFlags = View.SYSTEM_UI_FLAG_LAYOUT_STABLE| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION| View.SYSTEM_UI_FLAG_FULLSCREEN;uiFlags |= 0x00001000;getWindow().getDecorView().setSystemUiVisibility(uiFlags);}}
