【问题标题】:How to display another fragment on top of BottomSheetDialogFragment如何在 BottomSheetDialogFragment 顶部显示另一个片段
【发布时间】:2020-10-17 02:39:51
【问题描述】:
有没有办法在DialogFragment 上显示片段?当我的BottomSheetDialogFragment 在某些操作后显示时,我需要显示另一个片段(不是对话框片段的类型)而不关闭该对话框,我试图从对话框中删除暗淡效果而不是隐藏视图,但这并不好,对话框片段是不可见的,但是,它是钢在顶部和后压首先删除这个不可见的对话框,我需要实现的是正常的回栈顺序,如“正常”片段
【问题讨论】:
标签:
android
fragment
dialogfragment
android-bottomsheetdialog
【解决方案1】:
我遇到了同样的问题,我找到的解决方案是:
-
在您的 BottomSheetDialogFragment 布局上,将 id 设置为 ViewGroup(您可以使用根视图或在某处添加 FrameLayout)
-
在您的 BottomSheetDialogFragment 类中使用它来打开新片段:
childFragmentManager.beginTransaction()
.add(R.id.yourId, newFragment, newFragment.tag)
.addToBackStack(newFragment.tag)
.commit()
问题:当你按下后退按钮时,它会关闭整个对话框,所以我在第二个片段中放置了一个 X 图标,调用 parentFragmentManager.popBackStack()