首页 > 解决方案 > 使用 NavigationComponent 和 BottomNavigationView 隐藏工具栏后退箭头

问题描述

我正在实现 NavigationComponent 与 BottomNavigationView 相结合的过程中,我注意到工具栏中显示了所有片段目的地的后退箭头,但startDestination导航图中指定的片段目的地除外。

我能够找到的此实现的所有示例都显示出类似的行为。在我看来,隐藏 BottomNavigationView 的每个相关片段的后退箭头似乎是一种更自然的设计,(在工具栏中点击后退箭头以从选项卡 2 导航到选项卡 1 对我来说感觉很奇怪,我以前从未见过这种情况) .

有关示例以及我想要实现的目标,请参见下图。有什么办法可以做到这一点?在此处输入图像描述

标签: androidandroid-toolbarandroid-jetpackandroid-navigationandroid-jetpack-navigation

解决方案


如果您使用的是AppBarConfiguration应该看起来像这样。

val appBarConfiguration = AppBarConfiguration(
            setOf(
                R.id.homeFragment,
                R.id.dashboardFragment,
                R.id.notificationsFragment
            )
        )

setupActionBarWithNavController(navController!!, appBarConfiguration!!)

这意味着您的所有片段都是顶级目的地。

注意,当您回击时,您将退出应用程序(或者如果配置为第一个片段,BottomSheet例如,您会在 s 中获得此行为)。因此,如果您需要另一种情况,您应该onBackPressed为每个片段配置


推荐阅读