9

我有一个带有 navGraph 的活动和一个带有 2 个菜单项的底部导航栏。我的问题是My Bottom Navigation Bar到处出现,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
        }
4

1 回答 1

5

对于应该可见的片段

navView.visibility = View.VISIBLE

不应该看到的地方

navView.visibility = View.GONE
于 2019-06-05T13:20:05.277 回答