官方文档摘抄
一、沉浸式全屏模式
1.1、KitKat(4.4)19
要为您的应用提供填充整个屏幕的布局,适用于 setSystemUiVisibility()
的新标记 SYSTEM_UI_FLAG_IMMERSIVE
(与 SYSTEM_UI_FLAG_HIDE_NAVIGATION
结合使用时)将启用新的沉浸式全屏模式。在启用沉浸式全屏模式后,您的 Activity 将继续接收所有触摸事件。用户可以沿着系统状态栏正常出现的区域向内滑动来显示系统状态栏。这将清除 SYSTEM_UI_FLAG_HIDE_NAVIGATION
标记(如果应用了 SYSTEM_UI_FLAG_FULLSCREEN
标记,也会清除该标记),因此系统状态栏保持可见状态。但是,如果您想要系统状态栏在片刻后再次隐藏,可以改用 SYSTEM_UI_FLAG_IMMERSIVE_STICKY
标记。
1.2、setSystemUiVisibility的各个int值
SYSTEM_UI_FLAG_LOW_PROFILE:系统不显眼的低调模式,lv14提供
SYSTEM_UI_FLAG_HIDE_NAVIGATION:隐藏系统导航,lv14提供
SYSTEM_UI_FLAG_FULLSCREEN:全屏模式
SYSTEM_UI_FLAG_LAYOUT_STABLE:lv16
SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION:状态栏会遮住布局,lv16
SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN:状态栏会遮住布局,lv16
SYSTEM_UI_FLAG_IMMERSIVE:沉浸式,lv19
SYSTEM_UI_FLAG_IMMERSIVE_STICKY:沉浸式,lv19
二、透明系统状态栏
2.1、KitKat(4.4)19
现在,您可以使用新主题背景 Theme.Holo.NoActionBar.TranslucentDecor
和 Theme.Holo.Light.NoActionBar.TranslucentDecor
将系统状态栏设置为部分透明。通过启用透明系统状态栏,您的布局将填充系统状态栏后面的区域,因此,您也必须为不应被系统状态栏覆盖的布局部分启用 fitsSystemWindows,true时会预留状态栏高度的padding
。
如果您要创建自定义主题背景,则将其中某个主题背景设置为父主题背景,或在您的主题背景中添加 windowTranslucentNavigation
和 windowTranslucentStatus
样式属性。
以上两个新主题背景的样式属性都为true。
2.2、21
增加设置状态栏背景色属性
android:statusBarColor