Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android导航组件,具有动态底部选项卡和基于小部件的UI_Android_Android Architecture Components_Android Architecture Navigation_Android Navigation Graph - Fatal编程技术网

Android导航组件,具有动态底部选项卡和基于小部件的UI

Android导航组件,具有动态底部选项卡和基于小部件的UI,android,android-architecture-components,android-architecture-navigation,android-navigation-graph,Android,Android Architecture Components,Android Architecture Navigation,Android Navigation Graph,根据导航组件库,我们必须定义一个带有目的地和操作的导航图。它适用于应用程序流定义良好的用例。在我们的用例中,我们有一些地方是动态的 1。动态底部选项卡 我们的应用程序中有多个模块,可以根据不同的属性(如用户是否登录、地理位置等)显示在底部选项卡中。因此,我们决定从后端系统获取配置 2。小部件基本用户界面 我们还正在开发我们的主页,它可以支持来自后端的多个小部件,在后端,目的地也是动态的 使用导航组件有没有有效的方法来解决这个问题 编辑 动态底部选项卡与导航有什么关系?底部导航中出现的项目不受导

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

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

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

使用导航组件有没有有效的方法来解决这个问题


编辑 动态底部选项卡与导航有什么关系?底部导航中出现的项目不受导航控制;这些只是BottomNavigationView上的菜单API

BottomNavigationView的用户界面独立于导航。我想从这些选项卡解决导航问题。为了理解这个场景,举个例子,我有3个底部选项卡,其中第一个是home,第二个是dynamic(动态)选项卡,取决于它可以订阅的用户状态,favorites(收藏夹),最近的选项卡取决于后端配置,第三个是profile(配置文件)

  • 一种方法是定义图中每个可能的目的地,然后使用片段id进行导航
  • 为每个可能的组合定义全局操作,然后根据配置选择操作
你所说的“目的地也是动态的”是什么意思?您的意思是动态更改您可以从主页导航到的屏幕吗

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

我能想到的方法是:

  • 将包含所有可能片段的小部件图定义为全局操作,然后将它们附加到单个页面图
更好的方法是什么?有没有其他有效的方法来解决这个问题?Kotlin DSL或动态创建图形可以帮助我更有效地解决这些问题吗

考虑是否有多个后台堆栈来管理如何执行相同的操作


注意:应用程序是多模块的。因此,目的地可以是不同模块的一部分。

动态底部选项卡与导航有什么关系?底部导航中出现的项目不受导航控制;这些只是
BottomNavigationView
上的菜单API。你所说的“目的地也是动态的”是什么意思?您的意思是动态更改您可以从主页导航到的屏幕吗?谢谢您的回复。我正在通过解决所有这些问题来编辑我的问题。@ianhanniballake这有帮助:)