Kontroler nawigacyjny to jedno z głównych pojęć związanych z nawigacją. it przytrzymuje wykres nawigacyjny i udostępnia metody, które umożliwiają przeniesienie aplikacji między miejscami docelowymi na wykresie.
Jeśli używasz komponentu Nawigacja, tworzysz kontroler nawigacji.
przy użyciu klasy NavController
. NavController
jest centralnym
API nawigacji. Śledzi, które miejsca odwiedził użytkownik, i umożliwia
użytkownik może przechodzić między miejscami docelowymi. W tym przewodniku pokazujemy, jak utworzyć
NavController
w aplikacji.
Informacje na temat dodawania wykresu nawigacyjnego do NavController
znajdziesz tutaj
Zaprojektuj wykres nawigacyjny. NavController
udostępnia kilka sposobów
aby przejść do miejsc docelowych na jego wykresie. Więcej informacji znajdziesz w sekcji Przechodzenie do
miejsce docelowe.
Compose
Aby utworzyć NavController
podczas korzystania z Jetpack Compose, zadzwoń do
rememberNavController()
:
val navController = rememberNavController()
Należy utworzyć wysoką wartość NavController
w hierarchii kompozycyjnej. it
musi być na tyle wysoki, by wszystkie elementy kompozycyjne, które się do niego odwoływały,
to zrobić.
Dzięki temu NavController
będzie jedynym źródłem informacji dla
aktualizuję elementy kompozycyjne poza ekranami. Jest to zgodne z zasadami
Google State Ding.
Wyświetlenia
Jeśli używasz platformy interfejsu widoków, możesz pobrać kontrolera NavController za pomocą jednej z tych metod, zależnie od kontekstu:
Kotlin:
Java:
NavHostFragment.findNavController(Fragment)
Navigation.findNavController(Activity, @IdRes int viewId)
Navigation.findNavController(View)
Zazwyczaj najpierw jest pobierany NavHostFragment
, a potem
NavController
we fragmencie. Oto przykład:
Kotlin
val navHostFragment =
supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
val navController = navHostFragment.navController
Java
NavHostFragment navHostFragment =
(NavHostFragment) getSupportFragmentManager().findFragmentById(R.id.nav_host_fragment);
NavController navController = navHostFragment.getNavController();
Więcej materiałów
- Projektowanie wykresu nawigacyjnego: przewodnik z informacjami o tym, jak dodać wykres.
do
NavController
, który zawiera wszystkie miejsca docelowe w Twojej aplikacji. - Nawiguj do miejsca docelowego: przewodnik wyjaśniający, jak korzystać z nawigacji
NavController
, aby przechodzić między miejscami docelowymi na wykresie nawigacyjnym.