View setSystemUiVisbility 修改界面显示状态
可以设置下面这些flag 来动态改变界面效果
SYSTEM_UI_FLAG_LOW_PROFILE
SYSTEM_UI_FLAG_HIDE_NAVIGATION
SYSTEM_UI_FLAG_FULLSCREEN
SYSTEM_UI_FLAG_LAYOUT_STABLE
SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
SYSTEM_UI_FLAG_IMMERSIVE
SYSTEM_UI_FLAG_IMMERSIVE_STICKY
SYSTEM_UI_FLAG_LOW_PROFILE
设置界面为低耗能模式,可以使用在游戏 阅读器 和 视频播放器中
会隐藏部分状态栏图标 并且以小点的形式显示虚拟按键
SYSTEM_UI_FLAG_HIDE_NAVIGATION
隐藏虚拟按键导航栏 当有用户操作时显示
SYSTEM_UI_FLAG_FULLSCREEN
设置界面为全屏模式 与WindowManager LayoutParams#FLAG_FULLSCREEN效果类似
SYSTEM_UI_FLAG_LAYOUT_STABLE
保证布局稳定 的过度 使用在 SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 切换到 SYSTEM_UI_FLAG_FULLSCREEN并且保证一个稳定的布局SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
扩展布局占用到 navigationBar的位置 ,为了方便演示先将navigationbar设为透明
<item name="android:navigationBarColor">@android:color/transparent</item>
SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
与上面类似 只是扩展布局 到全屏 占用 状态栏位置- SYSTEM_UI_FLAG_IMMERSIVE
配合 SYSTEM_UI_FLAG_HIDE_NAVIGATION 如果未设置该标志 当有用户交互时 清除 SYSTEM_UI_FLAG_HIDE_NAVIGATION
- SYSTEM_UI_FLAG_IMMERSIVE_STICKY
配合 全屏 和 隐藏 虚拟按键导航栏 使用 与 上面不同 的地方在于 如果设置该 flag 可以在 显示 出状态栏 或 虚拟按键导航栏 时 过一段时间继续隐藏 ,添加这个之后 就和 window 设置 全屏 的效果一致了。