- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在研究 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)
}
我在新的 Fragment
的 onResume()
中调用了 hideSystemUI
,但它不起作用。 Fragment
仍然显示在 MainActivity
中设置的主要 AppBar
和导航。我已经尝试了 S.O. 的各种其他解决方案。线程,但大多数似乎是基于标准的 Activity/Fragment
模式,我已经在我的 Jetpack 之前的应用程序中取得了成功。新布局包含一个带有 ImageView
的 FrameLayout
。我的新 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/
在我的 Activity onCreate方法中,我使用以下方式将我的actionBar设置为显示并处理向上按钮上的点击: val navController = this.findNavContro
我在 Window 中使用 Frame 来显示内容,并使用 添加了导航 并且在 Window.xsml.cs FrameContent.Navigate(new HomeView()); 导航栏是这
我正在研究 Google 的 Sunflower 示例 Jetpack 应用程序 (https://github.com/googlesamples/android-sunflower)。 NavGr
我刚开始使用 Android NavigationUI 通过抽屉菜单实现 fragment 导航。虽然它确实有点像魔术,但我有一个主要问题。也就是说,我在菜单中有一个 logout 项,它不应导航到任
我有 Fragment,我想添加选项菜单。我尝试了很多,但没有找到任何解决方案。 这是我的代码。 package com.code2hack.milkledger.fragment import an
所以我有一个场景,其中我有 5 个 fragment 与底部导航相连。 1.首页 2.收件箱 3.搜索 4.通知 5.个人资料 所以我有另一个名为 (BarcodeDetail) 的 fragment
无法找到导致 null 异常问题的原因。按照指南制作项目,它没有这个问题。使用与 guidr 中相同的库版本。 错误信息 Attempt to invoke virtual method 'void
背景: (如果你不想知道我是怎么得到问题的,可以忽略。只是一些关于 Android Studio 模板 Activity 的问题)我一直在研究底部导航,并尝试从 Android Studio 默认创建
当 NavigationView 与 DrawLayout 和 ActionBar 一起使用时,jetpack 提供了一些强大的便捷方法来 Hook 一切都放在一起,以便这些项目更容易实现。 Navi
我已经通过 navigation_view.setupWithNavController(navController) 连接了我的菜单 xml 和 Android 导航组件,并且一切正常。我的菜单的一
我是一名优秀的程序员,十分优秀!