Android隐藏状态栏、导航栏
程序员文章站
2024-03-01 10:28:40
...
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 navigationBar
getWindow().getDecorView().setSystemUiVisibility(uiFlags);
}
}
一、导航栏:
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);
}
相关:
二、状态栏:
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);
}
}
下一篇: Java线程安全基础概念解析