Doi*_*nhe 8 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)
Run Code Online (Sandbox Code Playgroud)
我如何限制它只显示在我的菜单项上的 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
}
Run Code Online (Sandbox Code Playgroud)
对于您应该可见的片段
navView.visibility = View.VISIBLE
Run Code Online (Sandbox Code Playgroud)
不应该被看到的地方
navView.visibility = View.GONE
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3518 次 |
| 最近记录: |