在工具栏中隐藏菜单图标,以获取导航抽屉中的某些片段

时间:2019-07-08 12:18:42

标签: android kotlin navigation-drawer android-navigation

我正在使用导航图之类的Android体系结构组件创建一个活动应用程序。我有一个登录流程(登录,注册等)片段,该片段应具有标题栏,但没有菜单图标(汉堡图标)。

// App bar configuration
val appBarConfiguration = AppBarConfiguration(
    setOf(
        R.id.splashFragment,
        R.id.signInFragment,
        R.id.homeFragment
    ),
    main_activity_layout
)

使用上面的代码,我设法将后退箭头(后退导航)更改为菜单图标。但是我只希望菜单图标位于homeFragment中。 splashFragmentsignInFragment中的菜单图标和后退导航箭头均不应存在。

我想要标题栏,因此完全隐藏应用程序栏不是解决方案。

1 个答案:

答案 0 :(得分:0)

您可以使用OnDestinationChangedListener

 navController.addOnDestinationChangedListener { controller, destination, arguments ->
            if (destination.id == R.id.homeFragment) {
                drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED)
            } else {
                drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED)
            }
        }