打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【Android】沉浸式

有两个地方可以设置相关属性
1.getWindow().getAttributes().fl
2.getWindow().getDecorView().setSystemUiVisibility()
两者作用域不一样
style中设置的属性本质是对windows flag的赋值
主要还是对DecorView的属性进行设置

https://www.jianshu.com/p/e6656707f56c

SystemUI Flag 相关特性详解

1.
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
隐藏系统NavigationBar。
但是用户的任何交互,都会导致此Flag被系统清除,进而导航栏自动重新显示
View.SYSTEM_UI_FLAG_FULLSCREEN
作用是隐藏StatusBar。
此Flag会因为各种的交互(如:跳转到其他应用,下拉StatusBar,弹出键盘)的发送而被系统清除。

2.
View.SYSTEM_UI_FLAG_IMMERSIVE
View.SYSTEM_UI_FLAG_IMMERSIVE
避免某些用户交互造成系统自动清除全屏状态。

3.
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
在不隐藏StatusBar,NavigationBar的情况下,将view所在window的显示范围扩展**

4.
View.SYSTEM_UI_FLAG_LAYOUT_STABLE:
稳定布局。当StatusBar和NavigationBar动态显示和隐藏时,系统为fitSystemWindow=true的view设置的padding大小都不会变化,所以view的内容的位置也不会发生移动。

WindowManager 相关特性详解

1.
WindowMananger.FLAG_TRANSLUCENT_STATUS
WindowMananger.FLAG_TRANSLUCENT_NAVIGATION
半透明

2.
WindowMananger.FLAG_FULLSCREEN
于隐藏StatusBar

3.
用于未StatusBar和NavigationBar设置背景颜色。

4.
getWindow().getAttributes().layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;
设置刘海屏水滴屏的适配方式

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Android的标题栏,状态栏图标文字颜色及背景动态变化
android 动态控制状态栏显示和隐藏的方法实例
Android 弹出Dialog时隐藏状态栏和底部导航栏
android标题栏、状态栏图标文字颜色及背景动态变化 潇潇凤儿
动态显示和隐藏状态栏
Android 实现沉浸式状态栏
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服