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