In dieser Anleitung wird gezeigt, wie Sie das Navigationssymbol in einer oberen App-Leiste für Navigationsaktionen verwenden können.
Beispiel
Das folgende Snippet ist ein Minimalbeispiel für die Implementierung einer oberen App-Leiste mit einem funktionalen Navigationssymbol. In diesem Fall wird der Nutzer über das Symbol zum vorherigen Ziel in der App weitergeleitet:
@Composable fun TopBarNavigationExample( navigateBack: () -> Unit, ) { Scaffold( topBar = { CenterAlignedTopAppBar( title = { Text( "Navigation example", ) }, navigationIcon = { IconButton(onClick = navigateBack) { Icon( imageVector = Icons.AutoMirrored.Filled.ArrowBack, contentDescription = "Localized description" ) } }, ) }, ) { innerPadding -> Text( "Click the back button to pop from the back stack.", modifier = Modifier.padding(innerPadding), ) } }
Wichtige Punkte zum Code
Beachten Sie in diesem Beispiel Folgendes:
- Die zusammensetzbare Funktion
TopBarNavigationExample
definiert einen ParameternavigateBack
vom Typ() -> Unit
. - Es wird
navigateBack
für den ParameternavigationIcon
vonCenterAlignedTopAppBar
übergeben.
Wenn der Nutzer also auf das Navigationssymbol oben in der App klickt, wird navigateBack()
aufgerufen.
Funktion übergeben
In diesem Beispiel wird ein Rückwärtspfeil als Symbol verwendet. Daher sollte das Argument für navigateBack()
den Nutzer zum vorherigen Ziel führen.
Übergeben Sie dazu TopBarNavigationExample
an einen Aufruf von NavController.popBackStack()
. Das tun Sie dort, wo Sie den Navigationsgraphen erstellen. Beispiel:
NavHost(navController, startDestination = "home") {
composable("topBarNavigationExample") {
TopBarNavigationExample{ navController.popBackStack() }
}
// Other destinations...
Zusätzliche Ressourcen
Weitere Informationen zur Implementierung der Navigation in Ihrer App finden Sie in den folgenden Leitfäden:
- Navigation mit Compose
- NavController erstellen
- Navigationsdiagramm entwerfen
- Zu einem Composable navigieren