我最近将我的应用程序转换为单一活动结构,尝试将一个特定的片段设置为全屏。标准的全屏代码对于片段无效。
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;
我发现了这篇Android set full screen from fragment的文章,但是将其设置为FLAG_LAYOUT_NO_LIMITS会导致PagerSnapHelper在片段之间切换时跳动。因此,我的问题是,是否有其他方法可以将片段设置为全屏,而不使用FLAG_LAYOUT_NO_LIMITS。
FLAG_LAYOUT_NO_LIMITS
。你为什么认为你需要它呢? - ianhanniballakefitsSystemWindows="true"
,而实际上你只想将其应用于特定的片段呢? - ianhanniballakefitsSystemWindows
在BottomNavigationView
上不会影响片段是否fitsSystemWindows
。 - ianhanniballakeactivity_main
的主视图中有fitsSystemWindows
。实际上,我发现我需要在活动中使用fitsSystemWindows
,因为我将MainActivity
的主题设置为<item name="android:windowTranslucentNavigation">true</item>
。我不再需要它了。删除后问题解决了。我不再需要在活动中使用fitsSystemWindows
。默认情况下,所有片段都适应窗口大小,对于全屏片段,只需更新标志即可拉伸。感谢您的帮助!如果浪费了您的时间,我很抱歉! - Saravana Gunaseelan