kotlin - 如何隐藏某些片段中的底部导航栏?

标签 kotlin android-jetpack android-bottomappbar android-jetpack-navigation

我有一个带有 navGraph 的事件和一个带有 2 个菜单项的底部导航栏。
我的问题是我的底部导航栏到处出现,detailFragment、aboutFragment、signInFragment等等。


        val navController = this.findNavController(R.id.myNavHostFragment)

        val appBarConfiguration = AppBarConfiguration.Builder(
            R.id.contactsFragment,
            R.id.profileFragment
        ).build()

        NavigationUI.setupActionBarWithNavController(this, navController, appBarConfiguration)

        val navView: BottomNavigationView = findViewById(R.id.nav_view)
        NavigationUI.setupWithNavController(navView, navController)



我如何限制它只显示在我的菜单项上的 2 个片段上?

我就是这样解决的
    navController.addOnDestinationChangedListener{ _, nd: NavDestination, _->
        if(nd.id == R.id.contactsFragment || nd.id == R.id.profileFragment){
            navView.visibility = View.VISIBLE
        }else{
            navView.visibility = View.GONE
        }

最佳答案

对于应该可见的片段

navView.visibility = View.VISIBLE

不应该出现的地方
navView.visibility = View.GONE

关于kotlin - 如何隐藏某些片段中的底部导航栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56461156/

相关文章:

java - XML 中的 backgroundTint 不会更改 BottomActionBar 的颜色,即使最小 API >= 21

android - 在android compose中找不到同时使用底部工作表和底部导航栏的方法

android - 如何将 Android 项目升级到 Java 11

android - 为什么 jetpack compose 预览需要几分钟才能加载?

java - BottomAppBar backgrounTint 与父项不正确匹配并显示在屏幕的一半中

android - 右侧的 BottomAppBar 项目

Kotlin - 在保持精度的同时将 Float 转换为 Double

java - 从 java 设置 kotlin lambda

android - Firebase 消息处理 - kotlin 中的后台消息

flutter - FlutterPlugin 中永远不会调用重写方法 onAttachedToEngine