//显示系统状态栏
private void showStatusBar() {
View decorView = getWindow().getDecorView();
decorView.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION//隐藏状态栏的布局
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN//内容布局填满屏幕
);
}
//隐藏系统状态栏
private void hideStatusBar() {
View decorView = getWindow().getDecorView();
decorView.setSystemUiVisibility(
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//内容全屏展示
| View.SYSTEM_UI_FLAG_IMMERSIVE
);
}
//显示系统状态栏
private void showStatusBar() {
View decorView = getWindow().getDecorView();
decorView.setSystemUiVisibility(View.VISIBLE);
}
//隐藏系统状态栏
private void hideStatusBar() {
View decorView = getWindow().getDecorView();
//设置成低调模式
decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);
}
一、DecorView为整个Window界面的最顶层View。
二、DecorView只有一个子元素为LinearLayout。代表整个Window界面,包含通知栏,标题栏,内容显示栏三块区域。
三、在使用模式一时,为了防止隐藏掉状态栏后引起内容布局重新绘制而导致视图变化,在oncreate()时要先调用下showStatusBar()
原文:http://blog.csdn.net/pengkv/article/details/50424257