使用导航组件时将片段设置为全屏 - Android
Set Fragment to FullScreen while using Navigation Component - Android
我最近将我的应用程序转换为单一 Activity 架构并尝试将一个特定片段设置为全屏。 activity 的标准全屏代码不适用于片段
final int flags =
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;
我找到了这个 。但是将它设置为 FLAG_LAYOUT_NO_LIMITS 会导致片段中的 PagerSnapHelper 在 FLAG_LAYOUT_NO_LIMITS 和撤销它之间切换时跳转。
所以我的问题是,有没有其他方法可以在不使用 FLAG_LAYOUT_NO_LIMITS.
的情况下将片段设置为全屏
您永远不需要使用 FLAG_LAYOUT_NO_LIMITS
,也不应该在 activity 层全局应用 fitsSystemWindows="true"
- 这会阻止您的片段全屏显示。相反,仅在片段/单个组件上添加 fitsSystemWindows
,否则会与 status/system 条重叠。这将确保您的全屏片段能够占据整个尺寸,而不是从边缘插入。
我最近将我的应用程序转换为单一 Activity 架构并尝试将一个特定片段设置为全屏。 activity 的标准全屏代码不适用于片段
final int flags =
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;
我找到了这个
所以我的问题是,有没有其他方法可以在不使用 FLAG_LAYOUT_NO_LIMITS.
的情况下将片段设置为全屏您永远不需要使用 FLAG_LAYOUT_NO_LIMITS
,也不应该在 activity 层全局应用 fitsSystemWindows="true"
- 这会阻止您的片段全屏显示。相反,仅在片段/单个组件上添加 fitsSystemWindows
,否则会与 status/system 条重叠。这将确保您的全屏片段能够占据整个尺寸,而不是从边缘插入。