前言
通过setSystemUiVisibility(int)方法,改变状态栏或者其他系统UI的可见性。
getWindow().getDecorView().setSystemUiVisibility(int visibility);
默认显示状态栏和导航栏,SYSTEM_UI_FLAG_VISIBLE
- SYSTEM_UI_FLAG_LOW_PROFILE
低调模式,隐藏不重要的状态栏图标,导航栏中相应的图标都变成了一个小点。点击状态栏或者导航栏还原成正常的状态。
- SYSTEM_UI_FLAG_HIDE_NAVIGATION
隐藏导航栏,点击屏幕任意区域,导航栏将重新出现。
- SYSTEM_UI_FLAG_FULLSCREEN
隐藏状态栏,从状态栏位置下拉,状态栏将重新出现。
- SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
将布局内容拓展到导航栏和状态栏的后面。
- SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
将布局内容拓展到状态栏的后面。
- SYSTEM_UI_FLAG_LAYOUT_STABLE
稳定布局,需要配合SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION和SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN使用,同时设置布局的android:fitsSystemWindows属性。
未使用SYSTEM_UI_FLAG_LAYOUT_STABLE的效果。
使用SYSTEM_UI_FLAG_LAYOUT_STABLE的效果。
7. SYSTEM_UI_FLAG_IMMERSIVE
配合SYSTEM_UI_FLAG_HIDE_NAVIGATION和SYSTEM_UI_FLAG_FULLSCREEN使用,使状态栏和导航栏真正的进入沉浸模式。点击屏幕任意区域,不会退出全屏模式,只有用户上下拉状态栏或者导航栏时才会退出。
- SYSTEM_UI_FLAG_IMMERSIVE_STICKY
效果同SYSTEM_UI_FLAG_IMMERSIVE,当用户上下拉状态栏或者导航栏时,这些系统栏会以半透明的状态显示,并且在一段时间后消失。
- SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
设置状态栏的颜色,6.0版本以后有效。