android-fragments - 一项活动,入职 + 多个带有底部导航的 backStacks 片段
问题描述
刚刚访问了导航库的最后一个 alpha 发布版本 2.4.0-alpha02的google存储库。我对显示 onBoarding 图然后加载多个堆栈的导航图的正确方法有很大疑问,所有这些都在一个活动中。
如果我理解正确的话FragmentContainerView
,在上次更新中,它需要一个 navGraph,其中包含<include>
我们希望在应用程序中包含的部分,以及其中之一的 startDestination。
导航疑问:
什么是正确的实施?我的意思是,我查看了文档和条件导航的部分,但这部分似乎不适合里面。
我尝试了什么:
- 我在 FragmentContainerView 中充气了 onboarding 的 navGraph,然后在完成后,我在同一个 FragmentContainer 中充气了另一个 navgraph,用于多个 backStack,这种方法似乎有视觉上的影响,因为 FragmentContainerView 获取时的视图他的 navGraph 在里面膨胀,视图变白了......
- 我使用activity的fragmentManager作为NavHost,先加载onBoarding图,然后用他的navGraph加载FragmentContainerView,这个选项改善了1中提到的视觉问题。但是多个backstack停止工作,我猜是FragmentContainerView,需要导航主机。
解决方案
在与设计导航组件的 Ian Lake 交谈时,他说我们永远不应该使用启动屏幕或引导屏幕作为我们的起始目的地。相反,如果需要,您应该使用条件导航将用户引导至启动屏幕或入职屏幕。然后他给我链接了以下文章
https://medium.com/androiddevelopers/navigation-conditional-navigation-e82d7e4905f0
推荐阅读
- ruby-on-rails - RESTful 嵌套控制器命名最佳实践
- python - 矩阵乘以转置向量
- docker - 如何在 docker compose 中为每个容器创建单独的卷
- android - 如何确定手机视口的有效像素数
- r - 如何根据数据类型在两列之间交换数据?[R]
- python - 如何使用 Python 中的 REST API 遍历 Confluence Cloud 中 Space 中的所有页面
- assembly - 在 lw 指令之后带有 beq 的 MIPS 流水线?
- java - 防止应用程序自动注销
- passwords - 无效的密码重置令牌
- python - 优化以从列表中获取最多和最少出现的对