Для этого есть два подхода:
1) Каждый фрагмент внедряет свою собственную панель инструментов
Этот подход обеспечивает максимальную гибкость в отношении ответственности каждого фрагмента.для, но более подходит, если у вас есть много разных типов фрагментов или вам нужно прокручивать поведение, которое отличается для каждого фрагмента.
2) Используйте OnNavigatedListener для изменения панели инструментов вашей деятельности
NavController
позволяет вам присоединять любое количество экземпляров OnNavigatedListener
, которые возвращают вас при каждом изменении текущего пункта назначения / элемента.
Это позволяет вам писать кодв вашей деятельности, такой как:
navController.addOnNavigatedListener { navController, destination ->
if (destination.id == R.id.search_destination) {
// Update your Toolbar to be a SearchBar
} else {
// Reset it back to a standard Toolbar
}
}