刚刚访问了最后一个alpha realeasy导航库2.4.0-alpha02版本的google repo。我非常怀疑什么是显示onBoarding图,然后在一个活动中加载多个堆栈的导航图的正确方法。
如果我理解正确的话,在上次更新中,FragmentContainerView
需要一个navGraph,其中包含我们希望在应用程序中包含的部分的<include>
,以及其中一个部分的startDestination。
对导航的怀疑:
什么是正确的实施?我的意思是,我看了文档和条件导航的部分,但这部分似乎不适合。
我尝试过的:
- 我在FragmentContainer内部充气查看入职的navGraph,然后在入职完成后,我在同一FragmentContainers内部充气另一个导航图,一个用于多个backStack的导航图,这个方法似乎有视觉影响,因为当FragmentContainerView在内部充气时,视图会变白
- 我使用活动的fragmentManager作为NavHost,首先加载onBoarding图,然后用他的navGraph加载FragmentContainerView,这个选项改善了1中提到的视觉问题。但是多个后台停止工作,我猜FragmentContainerView需要是navHost
在与设计导航组件的Ian Lake交谈时,他表示我们永远不应该使用启动屏幕或入职屏幕作为我们的出发目的地。相反,如果需要,您应该使用条件导航将用户引导到启动屏幕或入职屏幕。然后他给我链接了以下文章
https://medium.com/androiddevelopers/navigation-conditional-navigation-e82d7e4905f0