带有动态底部选项卡和基于小部件的用户界面的 Android 导航组件

时间:2021-05-15 19:33:58

标签: android android-architecture-components android-architecture-navigation android-navigation-graph

根据导航组件库,我们必须定义一个包含目的地和操作的导航图。它适用于应用程序流程明确定义的用例。在我们的用例中,我们有一些地方是动态的。

1.动态底部标签 我们的应用中有多个模块,可以根据不同的属性(例如用户是否登录、地理位置等)显示在底部选项卡中。因此,我们决定从后端系统获取配置。

2.小部件基本用户界面 我们还在开发我们的主页,它可以支持来自后端的多个小部件,其中目的地也是动态的。

是否有使用导航组件解决相同问题的有效方法?


编辑

动态底部标签与导航有什么关系?底部导航中显示的项目不受导航控制;这些只是BottomNavigationView 上的Menu API。

BottomNavigationView 的理解 UI 独立于 Navigation。我想解决这些选项卡的导航问题。为了理解这个场景,举个例子,我有 3 个底部标签,第一个是主页,第二个是动态的,取决于它可以订阅的用户状态,收藏夹,最近取决于后端配置,第三个是配置文件。

  • 一种方法是在图中定义每个可能的目的地,然后使用片段 ID 进行导航。
  • 为每个可能的组合定义全局操作,然后根据配置选择操作。

“目的地也是动态的”是什么意思?您的意思是动态更改可以从主页导航到的屏幕吗?

是的。主页上的小部件是动态的,相同的小部件也可以出现在不同选项卡中的收藏夹页面上。例如。通过一个小部件,我可以转到tab1中的个人资料。

我能想到的方法如下,

  • 使用所有可能的片段定义一个小部件图作为全局操作,然后将它们附加到单个页面图。

这样做的更好方法是什么?有没有其他方法可以有效地解决这个问题? Kotlin DSL 或动态创建图形可以帮助我更有效地解决这些问题吗?

考虑是否有多个后台堆栈来管理如何做同样的事情。

P.S.:应用是多模块的。因此,目的地可能是不同模块的一部分。

0 个答案:

没有答案