如何使用Android导航组件+ BottomNavigationView + NavigationView(导航抽屉)

时间:2019-10-11 17:05:04

标签: android navigation-drawer android-architecture-navigation android-bottom-nav-view

我想知道使用导航组件+ BottomNavigationView + NavigationDrawer的最佳实践是什么。

我已经尝试使用Google的高级sample导航组件。对于多个后堆栈模块来说,它的效果很好。因为它有一种解决方法extension。使用这种方法时,每个底部标签都有其自己的图形,并且随着您选择其中一个标签,图形也会发生变化。

但是,当集成NavigationView时,它需要事先知道导航图。但是在高级示例中,没有使用navGraph属性,而是通过编程为bottomNavigation添加了图形。

当同时使用底部导航视图和导航抽屉视图时,我们如何管理图形?

1 个答案:

答案 0 :(得分:0)

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

要控制工具栏和bottomNavigationView的可见性,我使用addOnDestinationChangedListener

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

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