Как скрыть нижнюю панель навигации в определенных фрагментах? - PullRequest
0 голосов
/ 05 июня 2019

У меня есть активность с 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 голосов
/ 05 июня 2019

Для вашего фрагмента, где он должен быть виден

navView.visibility = View.VISIBLE

Там, где его не должно быть видно

navView.visibility = View.GONE
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...