6

我想知道使用 Navigation Component + BottomNavigationView + NavigationDrawer 的最佳做法是什么。

我已经尝试过谷歌导航组件的高级示例。它适用于多个后端堆栈模块。因为它有一个解决方法扩展。使用这种方法时,每个底部选项卡都有自己的图表,并且当您选择其中一个选项卡时,图表会发生变化。

但是在集成 NavigationView 的时候,需要提前知道导航图。但在高级示例中,不使用 navGraph 属性,以编程方式为底部导航添加了图形。

那么当底部导航视图和导航抽屉视图一起使用时,我们如何管理图形呢?

4

1 回答 1

0

在尝试了不同的方法后,我得出结论,当同时使用 BottomNavigationView 和 NavigationDrawer 时,最好保持导航图单一。当有多个导航图时,很难管理屏幕之间的逻辑连接。

为了控制工具栏和底部导航视图的可见性,我使用addOnDestinationChangedListener

navController.addOnDestinationChangedListener { controller, destination, arguments ->
        when(destination.id){ //check with destination ids,  }

这可能不是最佳做法。如果你有更好的方法,请分享

于 2020-07-19T16:02:20.517 回答