Android(安卓)显示、隐藏状态栏和导航栏
16lz
2021-12-04
Android 显示、隐藏状态栏和导航栏
控制状态栏显示,Activity的主题中配置全屏属性
- true
控制状态栏显示,在setContentView之前设置全屏的flag
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
控制状态栏显示,在任何位置通过添加和移除全屏的flag
// 隐藏状态栏getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);// 显示状态栏getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
控制状态栏和导航栏显示,setSystemUiVisibility
View.SYSTEM_UI_FLAG_LAYOUT_STABLE:全屏显示时保证尺寸不变。View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN:Activity全屏显示,状态栏显示在Activity页面上面。View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION:效果同View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREENView.SYSTEM_UI_FLAG_HIDE_NAVIGATION:隐藏导航栏View.SYSTEM_UI_FLAG_FULLSCREEN:Activity全屏显示,且状态栏被隐藏覆盖掉。View.SYSTEM_UI_FLAG_VISIBLE:Activity非全屏显示,显示状态栏和导航栏。View.INVISIBLE:Activity伸展全屏显示,隐藏状态栏。View.SYSTEM_UI_LAYOUT_FLAGS:效果同View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREENView.SYSTEM_UI_FLAG_IMMERSIVE_STICKY:必须配合View.SYSTEM_UI_FLAG_FULLSCREEN和View.SYSTEM_UI_FLAG_HIDE_NAVIGATION组合使用,达到的效果是拉出状态栏和导航栏后显示一会儿消失。// 全屏展示if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { // 全屏显示,隐藏状态栏和导航栏,拉出状态栏和导航栏显示一会儿后消失。 activity.getWindow().getDecorView().setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); } else { // 全屏显示,隐藏状态栏 activity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN); }}// 非全屏显示,显示状态栏和导航栏activity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
更多相关文章
- Android(安卓)studio No executable code found 断点不可用
- android 一直在最前面的浮动窗口效果
- Android控件隐藏方式 .
- popwindow动画显示消失,activity切换动画
- Android学习札记51:在TextView显示插入的图片
- android监控来电显示
- popwindow动画显示消失,activity切换动画
- 四十六、android中的Bitmap
- Android(安卓)imageView图片按比例缩放