- 隐藏状态栏 Window的设置flag标志来实现
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
- decorView的setSystemUiVisibility设置
View decorView = getWindow().getDecorView();
if (Build.VERSION.SDK_INT > 11 && Build.VERSION.SDK_INT < 19) {
decorView.setSystemUiVisibility(View.GONE);
} else if (Build.VERSION.SDK_INT >= 19) {
int options = View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
decorView.setSystemUiVisibility(options);
}
以上两种方式均可以实现状态栏的隐藏,但均存在从状态栏下拉会半透明悬浮显示一会儿状态栏的现象。
有些手机会用虚拟按键来代替物理按键,如果需要隐藏虚拟按键(导航栏),可以使用第二种方法,设置选项SYSTEM_UI_FLAG_HIDE_NAVIGATION|SYSTEM_UI_FLAG_IMMERSIVE_STICKY。