以前,要启用沉浸式全屏模式,您必须使用 setSystemUiVisibility
,如下所示:
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
从 API 30 开始,它已被弃用,那么解决方法是什么?
原文由 Lev Leontev 发布,翻译遵循 CC BY-SA 4.0 许可协议
为了兼容性,请使用
WindowCompat
和WindowInsetsControllerCompat
。 You’ll need to upgrade your gradle dependency forandroidx.core
to at least1.6.0-alpha03
so that there will be support forsetSystemBarsBehavior
on SDK < 30.mainContainer
是我活动中的顶级ConstraintLayout
。您可以通过观看此 YouTube 视频 了解有关
WindowInsets
的更多信息编辑:
我之前没有在这个答案中考虑过显示屏切口或显示屏内摄像头。在应用程序主题样式中,我添加了以下内容以在切口上方显示我的内容(在纵向模式下显示在屏幕顶部):
您可以通过此链接阅读更多内容: Display Cutout