如何在某些片段中隐藏底部导航栏?

时间:2019-06-05 13:08:04

标签: 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
        }

1 个答案:

答案 0 :(得分:0)

对于您应该在其中可见的片段

navView.visibility = View.VISIBLE

在不应该看到的地方

navView.visibility = View.GONE