【问题标题】:multiple navigation host base layouts多个导航主机基础布局
【发布时间】:2019-11-18 01:32:38
【问题描述】:

我正在尝试将我的应用程序移至 google 推荐的单个活动应用程序。 为此,我为我的应用程序的每个部分创建了一些导航主机和导航图, 一个用于身份验证流程的导航主机片段将在登录、注册、2fa 等屏幕之间导航时将公司徽标保持在顶部...所以为此我创建了一个带有容器和视图徽标的导航主机片段。 我的应用程序中使用底部导航视图的部分还有一个导航主机片段,因此有一个底部导航主机片段,所有屏幕共享底部导航栏。 还有另一个流程不应该有底部导航栏,所以我这次只用容器创建了第三个导航主机。

所有这 3 个流程的范围都限定为作为主导航主机的主 Activity,这只是带有导航容器的 Activity 布局。

问题是除了容器之外唯一保留视图的导航主机是主导航。 当导航到底部导航主机片段时,底部导航栏不存在,但是如果我将底部导航视图移动到主要活动,导航栏会显示但它永远存在,即使在身份验证流程中,我也会必须在我的应用程序中不使用底部导航的每个片段中手动删除此栏。

问题是如何为导航主机设置基本布局?这可能吗?

【问题讨论】:

    标签: android android-fragments bottomnavigationview android-jetpack android-architecture-navigation


    【解决方案1】:

    我发现解决此问题的方法不是使用单一活动应用程序。 现在我有一个没有基本布局的应用程序入口(主要活动)的简单主机活动,保持基本布局的登录流是另一个活动主机,但有自己的视图以及使用底部导航的应用程序部分,那里是一个仅用于底部导航的活动主机。同样在导航图中,动作必须从片段到新活动,如果目标是嵌套图,则保留前一个活动的基本布局...... 我可以解决这个问题,添加更多活动并使用活动而不是嵌套流来处理流......这很好,但我无法在我的应用程序的某些部分共享视图模型,这是这种方法的一个缺点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-24
      • 2017-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多