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.