Нижняя навигация отображается в другом фрагменте - PullRequest
0 голосов
/ 28 мая 2020

Буду рад наконец получить в этом помощь. У меня есть одно приложение для занятий. Один из фрагментов также является nav_host (скажем, nav_host2) для других фрагментов для его нижней навигации.

Я хочу выйти из фрагмента from в nav_host two на nav_host1, используя глубокую ссылку, но обратите внимание, что нижняя навигация на nav_host2 отображается на nav_host1, что мне не нужно, как показано на диаграмме ниже.

Sign-in fragment in nav_host1

Как я могу выйти из nav_host2 без отображения нижней панели навигации, даже если она пуста

1 Ответ

0 голосов
/ 28 мая 2020

используйте addOnDestinationChangedListener и скрывайте и отображайте bottomNavigation по отношению к destinationId

private val AUTH_NAV_GRAPH = arrayOf(
    R.id.destination_splash,
    R.id.destination_login,
    R.id.destination_register,
    R.id.destination_forgetpassword
)



val navController = findNavController(this,R.id.nav_host_fragment)// this maybe change
navController.addOnDestinationChangedListener { controller, destination, arguments ->
   if(destination.id in AUTH_NAV_GRAPH) {
       bottomNavigation?.visibility=View.GONE

   } else {
       bottomNavigation?.visibility=View.VISIBLE
   }
}

где AUTH_NAV_GRAPH похожи на фрагменты без bottomNavigation

...