首页 文章

如何导航到Half Fragment? (导航架构组件)

提问于
浏览
0

我在我的应用程序中尝试导航架构组件 . 之前我使用Fragment Transaction来实现以下功能 . 基本上我想从中导航 .

FragmentA->FragmentB (自定义片段部分透明,屏幕尺寸的一半)

如果我正在使用导航组件并尝试

Navigation.findNavController(view).navigate(R.id.action_FragmentA_to_FragmentB)

然后结果是FragmentA被FragmentB替换,背景片段不可见 .

如果导航架构组件允许,我想知道一个解决方案 .

P.S:我听说过嵌套的导航主机,但是从Fragment里面使用它是好的 .

Update:

FragmentB将为进一步的交易和示例提供行动:

FragmentA->FragmentB->FragmentC (自定义片段部分透明,屏幕大小的一半)

当用户按下后退按钮时,片段C应该替换FragmentB,并且应该为所有片段事务维护backStack .

2 回答

  • 2

    您可以使用BottomSheetDialogFragment来获得所需的结果 .
    更多信息:https://developer.android.com/reference/android/support/design/widget/BottomSheetDialogFragment

  • 0

    TLDR:我使用嵌套图来实现这个要求 .

    您好,感谢您的帮助,但我可以使用以下程序在BottomSheet中进行导航 .

    • MainActivity

    • NavHost( FragXYZ->FragA

    • Inside Fragment A )BottomSheetDialogFragment.show()显示bottomSheetMenu

    • Inside Fragment B )BottomSheetDialog Child 片段(使用片段事务启动BottomSheetDialogFragment的子片段)扩展了NavHostFragment

    演示:GitHub

相关问题