คู่มือนี้แสดงวิธีทำให้ไอคอนการนำทางในแถบแอป ด้านบนทำการดำเนินการนำทางได้
ตัวอย่าง
ข้อมูลโค้ดต่อไปนี้เป็นตัวอย่างที่เรียบง่ายที่สุดของวิธีใช้แถบแอปด้านบนที่มีไอคอนการนำทางที่ใช้งานได้ ในกรณีนี้ ไอคอนจะนำผู้ใช้ไปยังปลายทางก่อนหน้าในแอป
@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สำหรับพารามิเตอร์navigationIconของCenterAlignedTopAppBar
ดังนั้น เมื่อใดก็ตามที่ผู้ใช้คลิกไอคอนการนำทางในแถบแอปด้านบน ระบบจะเรียก navigateBack()
ส่งฟังก์ชัน
ตัวอย่างนี้ใช้ลูกศรย้อนกลับสำหรับไอคอน ดังนั้น อาร์กิวเมนต์สำหรับ navigateBack() ควรนำผู้ใช้ไปยังปลายทางก่อนหน้า
หากต้องการทำเช่นนั้น ให้ส่ง TopBarNavigationExample การเรียกไปยัง
NavController.popBackStack() ซึ่งคุณจะทำได้ในที่ที่คุณสร้าง
กราฟการนำทาง เช่น
NavHost(navController, startDestination = "home") {
composable("topBarNavigationExample") {
TopBarNavigationExample{ navController.popBackStack() }
}
// Other destinations...
แหล่งข้อมูลเพิ่มเติม
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้การนำทางในแอปได้ในชุดคู่มือต่อไปนี้