ท่าทางสัมผัสย้อนกลับแบบคาดเดาและการเคลื่อนไหวของระบบจะเปิดใช้อยู่โดยค่าเริ่มต้น หากแอปของคุณ สกัดกั้นเหตุการณ์ย้อนกลับและคุณยังไม่ได้ย้ายข้อมูลไปยังการคาดการณ์การย้อนกลับ ให้อัปเดตแอปเพื่อใช้ API การนำทางย้อนกลับที่รองรับ
เปิดใช้ภาพเคลื่อนไหวของระบบเริ่มต้น
การเคลื่อนไหวของระบบสำหรับการกลับไปหน้าแรก กิจกรรมข้าม และงานข้ามจะพร้อมใช้งาน ในอุปกรณ์ Android 15 ขึ้นไปสำหรับแอปที่ย้ายข้อมูลไปยัง API การจัดการการย้อนกลับที่รองรับ
- กลับไปที่หน้าแรก: นำผู้ใช้กลับไปที่หน้าจอหลัก
- กิจกรรมข้าม: การเปลี่ยนผ่านระหว่างกิจกรรมภายในแอป
- ข้ามงาน: การเปลี่ยนระหว่างงาน
โดยค่าเริ่มต้น ระบบจะเปิดใช้ภาพเคลื่อนไหวเหล่านี้ใน Android 15 ขึ้นไป ในอุปกรณ์ที่ใช้ Android 13 หรือ 14 ผู้ใช้จะเปิดใช้ได้ผ่านตัวเลือกสำหรับนักพัฒนาแอป
หากต้องการรับภาพเคลื่อนไหวของระบบ ให้อัปเดตActivity
การอ้างอิง AndroidX
เป็น1.6.0 ขึ้นไป
เปิดใช้ท่าทางสัมผัสย้อนกลับแบบคาดเดาด้วย Navigation Compose
หากต้องการใช้การย้อนกลับแบบคาดการณ์ใน Navigation Compose ให้ตรวจสอบว่าคุณใช้ไลบรารี
navigation-compose
2.8.0
ขึ้นไป
Navigation Compose จะเปลี่ยนฉากระหว่างหน้าจอโดยอัตโนมัติเมื่อผู้ใช้ ปัดกลับ
เมื่อไปยังส่วนต่างๆ คุณจะสร้างการเปลี่ยนฉากที่กำหนดเองได้ด้วย
popEnterTransition
และ popExitTransition
เมื่อใช้กับ NavHost
ตัวแก้ไขเหล่านี้จะช่วยให้คุณกำหนดวิธีที่หน้าจอเข้าและออก
เคลื่อนไหวได้ คุณสามารถใช้เพื่อสร้างเอฟเฟกต์ต่างๆ เช่น การปรับขนาด
การจาง หรือการเลื่อน
ในตัวอย่างนี้ เราใช้ scaleOut
ภายใน popExitTransition
เพื่อลดขนาด
หน้าจอที่ออกจากแอปเมื่อผู้ใช้ย้อนกลับ นอกจากนี้ พารามิเตอร์
transformOrigin
ยังกำหนดจุดที่การปรับขนาด
ภาพเคลื่อนไหวเกิดขึ้นด้วย โดยค่าเริ่มต้นคือตรงกลางหน้าจอ (0.5f, 0.5f
)
คุณปรับค่านี้เพื่อให้การปรับขนาดมาจากจุดอื่นได้
NavHost( navController = navController, startDestination = Home, popExitTransition = { scaleOut( targetScale = 0.9f, transformOrigin = TransformOrigin(pivotFractionX = 0.5f, pivotFractionY = 0.5f) ) }, popEnterTransition = { EnterTransition.None }, modifier = modifier, )
โค้ดนี้จะสร้างผลลัพธ์ต่อไปนี้
popEnterTransition
และ popExitTransition
จะควบคุมภาพเคลื่อนไหวโดยเฉพาะ
เมื่อป๊อปสแต็กย้อนกลับด้วยท่าทางสัมผัสย้อนกลับ เป็นต้น นอกจากนี้ คุณยังใช้ enterTransition
และ exitTransition
เพื่อกำหนดภาพเคลื่อนไหวสำหรับการเข้าและ
ออกจาก Composable โดยทั่วไปได้ด้วย ไม่ใช่เฉพาะสำหรับการคาดการณ์การย้อนกลับเท่านั้น หากคุณตั้งค่าเฉพาะ enterTransition
และ exitTransition
ระบบจะใช้ค่าดังกล่าวทั้งสำหรับการนำทางปกติ
และการป๊อปสแต็กย้อนกลับ อย่างไรก็ตาม การใช้ popEnterTransition
และ popExitTransition
จะช่วยให้คุณสร้างภาพเคลื่อนไหวที่แตกต่างกันสำหรับการนำทางย้อนกลับได้
ผสานรวมกับการเปลี่ยนภาพองค์ประกอบแบบใช้ร่วมกัน
การเปลี่ยนองค์ประกอบที่ใช้ร่วมกันจะสร้างการเชื่อมต่อภาพที่ราบรื่นระหว่าง Composables ที่มีเนื้อหาร่วมกัน ซึ่งมักใช้สำหรับการนำทาง
หากต้องการใช้องค์ประกอบที่แชร์กับ Navigation Compose โปรดดูการคาดการณ์การย้อนกลับด้วยองค์ประกอบที่แชร์
รองรับการย้อนกลับที่คาดการณ์ได้ด้วยคอมโพเนนต์ Material Compose
คอมโพเนนต์หลายรายการในไลบรารี Material Compose ออกแบบมาให้ทำงานได้อย่างราบรื่น
ด้วยท่าทางสัมผัสย้อนกลับแบบคาดการณ์ หากต้องการเปิดใช้ภาพเคลื่อนไหวการคาดการณ์การย้อนกลับในคอมโพเนนต์เหล่านี้
ให้รวมการอ้างอิง Material3 ล่าสุด (androidx.compose.material3:material3-*:1.3.0
ขึ้นไป) ไว้ในโปรเจ็กต์
คอมโพเนนต์ Material ที่รองรับการเคลื่อนไหวย้อนกลับแบบคาดเดามีดังนี้
SearchBar
ModalBottomSheet
ModalDrawerSheet/DismissibleDrawerSheet
ModalNavigationDrawer/DismissibleNavigationDrawer
SearchBar
และ ModalBottomSheet
จะเคลื่อนไหวโดยอัตโนมัติด้วย
ท่าทางสัมผัสการย้อนกลับที่คาดการณ์ได้ ModalNavigationDrawer
,
ModalDrawerSheet
, DismissibleDrawerSheet
และ
DismissibleNavigationDrawer
กำหนดให้คุณส่ง drawerState
ไปยัง
Composables ของเนื้อหาชีตที่เกี่ยวข้อง
ทดสอบภาพเคลื่อนไหวของท่าทางสัมผัสย้อนกลับแบบคาดเดา
หากยังใช้ Android 13 หรือ Android 14 อยู่ คุณสามารถทดสอบภาพเคลื่อนไหวกลับไปหน้าแรกได้
หากต้องการทดสอบภาพเคลื่อนไหวนี้ ให้ทำตามขั้นตอนต่อไปนี้
- ในอุปกรณ์ ให้ไปที่การตั้งค่า > ระบบ > ตัวเลือกสำหรับนักพัฒนาแอป
- เลือกการเคลื่อนไหวย้อนกลับแบบคาดเดา
- เปิดแอปที่อัปเดตแล้วและใช้ท่าทางสัมผัสย้อนกลับเพื่อดูการทำงาน
ใน Android 15 ขึ้นไป ฟีเจอร์นี้จะเปิดใช้โดยค่าเริ่มต้น