این راهنما نشان میدهد که چگونه میتوانید نماد پیمایش را در نوار برنامه بالایی وادار به انجام کنشهای پیمایش کنید.
مثال
قطعه زیر نمونهای حداقلی از نحوه پیادهسازی نوار برنامه بالایی با نماد پیمایش کاربردی است. در این حالت، نماد کاربر را به مقصد قبلیاش در برنامه میبرد:
@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), ) } }
نکات کلیدی درباره کد
در این مثال به موارد زیر توجه کنید:
- composable
TopBarNavigationExampleپارامترnavigateBackاز نوع() -> Unitرا تعریف میکند. - این مورد
navigateBackرا برای پارامترnavigationIconCenterAlignedTopAppBarارسال میکند.
به همین دلیل، هرگاه کاربر روی نماد پیمایش در بالای برنامه کلیک کند،
navigateBack() را فراخوانی میکند.
ارسال تابع
این مثال از پیکان برگشت برای نماد استفاده میکند. بنابراین، آرگومان
navigateBack() باید کاربر را به مقصد قبلی ببرد.
برای انجام این کار، TopBarNavigationExample تماسی را به
NavController.popBackStack() منتقل کنید. این کار را در جایی انجام میدهید که نمودار پیمایش خود را میسازید. برای مثال:
NavHost(navController, startDestination = "home") {
composable("topBarNavigationExample") {
TopBarNavigationExample{ navController.popBackStack() }
}
// Other destinations...
منابع بیشتر
برای اطلاعات بیشتر درباره نحوه پیادهسازی ناوبری در برنامهتان، مجموعه راهنماهای زیر را ببینید: