gpt4 book ai didi

全屏模式下的 Android NavigationUI fragment

转载 作者:行者123 更新时间:2023-11-30 05:04:18 25 4
gpt4 key购买 nike

我正在研究 Google 的 Sunflower 示例 Jetpack 应用程序 (https://github.com/googlesamples/android-sunflower)。 NavGraph 在导航 xml 文件中定义,该文件具有单个 Activity 和多个 Fragment。主要的 Activity 布局有一个 AppBar,它由所有 fragment 共享。我想将另一个 Fragment 添加到以全屏模式显示图像的 NavGraph。 Android 文档显示了以下启用全屏模式的代码:

 private fun hideSystemUI() {
window.decorView.systemUiVisibility = (View.SYSTEM_UI_FLAG_IMMERSIVE
or View.SYSTEM_UI_FLAG_LAYOUT_STABLE
or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
or View.SYSTEM_UI_FLAG_FULLSCREEN)
}

我在新的 FragmentonResume() 中调用了 hideSystemUI,但它不起作用。 Fragment 仍然显示在 MainActivity 中设置的主要 AppBar 和导航。我已经尝试了 S.O. 的各种其他解决方案。线程,但大多数似乎是基于标准的 Activity/Fragment 模式,我已经在我的 Jetpack 之前的应用程序中取得了成功。新布局包含一个带有 ImageViewFrameLayout。我的新 fragment 看起来像这样:

class FullScreenFragment: Fragment() {
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
super.onCreateView(inflater, container, savedInstanceState)
val binding = DataBindingUtil.inflate<FragmentFullscreenBinding>(
inflater, R.layout.fragment_fullscreen, container, false)
return binding.root
}

override fun onResume() {
super.onResume()
hideSystemUI()
}

private fun hideSystemUI() {
activity!!.window.decorView.systemUiVisibility = (View.SYSTEM_UI_FLAG_IMMERSIVE
or View.SYSTEM_UI_FLAG_LAYOUT_STABLE
or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
or View.SYSTEM_UI_FLAG_FULLSCREEN)
}
}

有没有办法为一个 fragment 启用全屏模式?除了将新的 Fragment 添加到 NavGraph 之外,我根本没有更改 Google 的代码,但如有必要,我可以在此处发布其他代码。我认为这可能必须通过 MainActivity 进行管理,但我不确定。提前致谢!

最佳答案

The Fragment still shows the main AppBar and navigation that were set up in MainActivity.

那些不是系统 UI 的一部分,这是 hideSystemUI() 试图控制的。如果您想隐藏小部件,请更新 visibility 属性(例如,findViewById(R.id.appbar).visibility = View.GONE)。

关于全屏模式下的 Android NavigationUI fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54847411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com