使用导航组件-Android时将Fragment设置为全屏

使用导航组件-Android时将Fragment设置为全屏,android,android-fragments,navigation,android-fullscreen,Android,Android Fragments,Navigation,Android Fullscreen,我最近将我的应用程序转换为单活动架构,并尝试将一个特定片段设置为全屏。活动的标准全屏代码不适用于片段 final int flags = View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN

我最近将我的应用程序转换为单活动架构,并尝试将一个特定片段设置为全屏。活动的标准全屏代码不适用于片段

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\u LAYOUT\u NO\u LIMITS的情况下将fragment设置为全屏模式。

您不应该使用
FLAG\u LAYOUT\u NO\u LIMITS
,也不应该在活动层全局应用
fitsystemwindows=“true”
,这将阻止您的fragment进入全屏模式。相反,只在片段/单个组件上添加
fitsystemwindows
,否则会与状态/系统栏重叠。这将确保您的全屏片段能够占据全部大小,并且不会从边缘插入。

您不应该使用
标记布局\u无限制,也不应该应用
fitsystemwindows=“true”
在您的活动层进行全局更新-这将阻止您的片段全屏显示。相反,只在片段/单个组件上添加
fitsystemwindows
,否则会与状态/系统栏重叠。这将确保您的全屏片段能够占据全部大小,而不是从边缘插入。

您永远不需要
标记布局\u无\u限制
。什么让你认为你需要它呢?所以基本上添加标志final int flags=View.SYSTEM\u UI\u FLAG\u LAYOUT\u STABLE\View.SYSTEM\u UI\u FLAG\u LAYOUT\u HIDE\u NAVIGATION\124; View.SYSTEM\u UI\u FLAG\u layou LAYOUT\u全屏。。。。隐藏状态栏和导航栏。但不会缩放碎片以填充空间。这是因为我在活动顶部布局中使用fitsystemwindows=“true”。以编程方式将其处理为false对片段没有影响。那么,为什么在活动级别使用
fitsystemwindows=“true”
,而实际上只希望它应用于特定片段?我在活动中有一个底部导航视图,它应该适合系统窗口。当转到全屏片段时,我隐藏底部导航视图。
底部导航视图上的
fitsystemwindows
不会影响片段是否
fitsystemwindows
。您永远不需要
标记布局\u无限制
。什么让你认为你需要它呢?所以基本上添加标志final int flags=View.SYSTEM\u UI\u FLAG\u LAYOUT\u STABLE\View.SYSTEM\u UI\u FLAG\u LAYOUT\u HIDE\u NAVIGATION\124; View.SYSTEM\u UI\u FLAG\u layou LAYOUT\u全屏。。。。隐藏状态栏和导航栏。但不会缩放碎片以填充空间。这是因为我在活动顶部布局中使用fitsystemwindows=“true”。以编程方式将其处理为false对片段没有影响。那么,为什么在活动级别使用
fitsystemwindows=“true”
,而实际上只希望它应用于特定片段?我在活动中有一个底部导航视图,它应该适合系统窗口。当转到全屏片段时,我会隐藏底部导航视图。
BottomNavigationView
上的
fitsystemwindows
不会影响片段
fitsystemwindows