登录-导航体系结构组件

A. *_*rik 7 android up-button android-navigationview android-architecture-components android-architecture-navigation

我使用android导航体系结构组件实现了对LoginFragment的条件导航。我现在面临的问题是,我想隐藏工具栏上的向上按钮,并在用户未登录时禁用任何应用内导航。

我希望能够通过一种活动的方法来实现这一点,其中“活动”像在android sunflower演示中一样设置应用内导航UI和navController,并且导航目标是“片段”。

我实现了此处描述的条件导航: 导航体系结构组件-登录屏幕

如何使用导航体系结构组件正确实现在登录屏幕上隐藏导航和向上按钮?

Aar*_*onJ 5

我不知道你说的隐藏导航到底是什么意思,但我会假设你的意思是隐藏抽屉布局。要隐藏向上按钮并锁定抽屉,请将以下内容添加到 MainActivity 的 onCreate。我正在使用 Kotlin。

myNavController.addOnDestinationChangedListener { _, destination ->
    if (destination.id == R.id.loginFragment) {
        myDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED)
        myToolbar.setVisibility(View.GONE)
    } else {
        myDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED)
        myToolbar.setVisibility(View.VISIBLE)
    }
Run Code Online (Sandbox Code Playgroud)

使向上按钮消失使用myToolbar.setNavigationIcon(null)并使其返回使用myToolbar.setNavigationIcon(R.id.my_icon)