Die Navigationskomponente von Android Jetpack bietet Unterstützung für Jetpack Compose-Anwendungen. Sie können zwischen den zusammensetzbaren Funktionen während Sie gleichzeitig die Infrastruktur und Funktionen.
Auf dieser Seite werden die Unterschiede zur Jetpack-Navigation in Compose für Wear beschrieben. Betriebssystem
Einrichten
Verwenden Sie die folgende Abhängigkeit in der build.gradle-Datei Ihres App-Moduls:
Kotlin
dependencies { def wear_compose_version = "1.3.1" implementation "androidx.wear.compose:compose-navigation:$wear_compose_version" }
Wird anstelle von androidx.navigation:navigation-compose
verwendet
da es alternative, speziell für Wear OS entwickelte Implementierungen bietet.
Navigations-Controller, Host und Grafik erstellen
Für die Navigation mit Compose für Wear OS sind dieselben drei Komponenten Nicht-Wear OS-Apps: Navigations-Controller, Host und Grafik
Verwenden Sie
rememberSwipeDismissableNavController()
zum Erstellen einer Instanz von WearNavigator
, einer Implementierung von NavController
geeignet für Wear OS-Apps:
Kotlin
val navController = rememberSwipeDismissableNavController()
Der NavController
ist
die primäre API, die zur Navigation in Compose-Anwendungen verwendet wird. Es steuert die Navigation
zwischen zusammensetzbaren Funktionen
im Navigationshost, der unter Wear OS
SwipeDismissableNavHost
Kotlin
val navController = rememberSwipeDismissableNavController() SwipeDismissableNavHost( navController = navController, startDestination = "message_list" ) { // TODO: build navigation graph }
Zum Beispiel
NavHost
zusammensetzbar,
verweist er auf den Navigations-Controller, die Route für den Start
Ziel und den Builder für das Navigationsdiagramm, das hier als
hinteren Lambda.
Das Startziel muss im Tool zur Erstellung von Navigationsgrafiken angegeben werden, zusammen mit mit allen anderen Zielen, die mit der Navigation zu erreichen sind, Controller.
val navController = rememberSwipeDismissableNavController() SwipeDismissableNavHost( navController = navController, startDestination = "message_list" ) { composable("message_list") { MessageList(onMessageClick = { id -> navController.navigate("message_detail/$id") }) } composable("message_detail/{id}") { MessageDetail(id = it.arguments?.getString("id")!!) } }
Weitere Informationen zu Jetpack Navigation finden Sie unter Navigation mit der Funktion „Schreiben“ oder Code-Lab „Jetpack Compose Navigation“
Empfehlungen für dich
- Hinweis: Der Linktext wird angezeigt, wenn JavaScript deaktiviert ist.
- Jetpack Navigation zu Navigation Compose migrieren
- Navigation mit der Funktion „Schreiben“
- Mit der Funktion „Schreiben“ zwischen Bildschirmen wechseln