במדריך הזה נסביר איך לגרום לסמל הניווט בסרגל האפליקציות העליון לבצע פעולות ניווט.
דוגמה
קטע הקוד הבא הוא דוגמה מינימלית לאופן שבו אפשר להטמיע סרגל אפליקציות בחלק העליון עם סמל ניווט פונקציונלי. במקרה כזה, הסמל מעביר את המשתמש ליעד הקודם באפליקציה:
@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), ) } }
נקודות עיקריות לגבי הקוד
שימו לב לנקודות הבאות בדוגמה הזו:
TopBarNavigationExample
הניתן ליצירה מגדיר פרמטרnavigateBack
מסוג() -> Unit
.- הוא מעביר את הערך
navigateBack
לפרמטרnavigationIcon
שלCenterAlignedTopAppBar
.
לכן, בכל פעם שהמשתמש לוחץ על סמל הניווט בחלק העליון של האפליקציה, מתבצעת קריאה ל-navigateBack()
.
העברה של פונקציה
בדוגמה הזו נעשה שימוש בחץ חזרה כסמל. לכן, הארגומנט של navigateBack()
צריך להעביר את המשתמש ליעד הקודם.
כדי לעשות זאת, מעבירים ל-TopBarNavigationExample
קריאה ל-NavController.popBackStack()
. עושים זאת במקום שבו יוצרים את תרשים הניווט. לדוגמה:
NavHost(navController, startDestination = "home") {
composable("topBarNavigationExample") {
TopBarNavigationExample{ navController.popBackStack() }
}
// Other destinations...
מקורות מידע נוספים
למידע נוסף על הטמעת ניווט באפליקציה, תוכלו לעיין בסדרת המדריכים הבאה: