ตั้งค่าการย้อนกลับที่คาดการณ์ได้

ระบบจะเปิดใช้การย้อนกลับที่คาดการณ์ได้และภาพเคลื่อนไหวของระบบตามค่าเริ่มต้น หากแอปของคุณ สกัดกั้นเหตุการณ์ย้อนกลับและคุณยังไม่ได้ย้ายข้อมูลไปยังการย้อนกลับที่คาดการณ์ได้ ให้อัปเดตแอปเพื่อใช้ API การนำทางย้อนกลับที่รองรับ

ภาพเคลื่อนไหวของการย้อนกลับที่คาดการณ์ได้เพื่อกลับไปที่หน้าแรก
ภาพเคลื่อนไหวของการย้อนกลับที่คาดการณ์ได้เพื่อเปลี่ยนไปใช้กิจกรรมอื่น
ภาพเคลื่อนไหวของการย้อนกลับที่คาดการณ์ได้เพื่อเปลี่ยนไปใช้ Task อื่น

เปิดใช้ภาพเคลื่อนไหวของระบบเริ่มต้น

ภาพเคลื่อนไหวของระบบสำหรับการย้อนกลับไปที่หน้าแรก การเปลี่ยนไปใช้กิจกรรมอื่น และการเปลี่ยนไปใช้ Task อื่นพร้อมใช้งานในอุปกรณ์ Android 15 ขึ้นไปสำหรับแอปที่ย้ายข้อมูลไปยัง API การจัดการการย้อนกลับที่รองรับ

  • ย้อนกลับไปที่หน้าแรก: นำผู้ใช้กลับไปที่หน้าจอหลัก
  • เปลี่ยนไปใช้กิจกรรมอื่น: เปลี่ยนระหว่างกิจกรรมภายในแอป
  • เปลี่ยนไปใช้ Task อื่น: เปลี่ยนระหว่าง Task

ระบบจะเปิดใช้ภาพเคลื่อนไหวเหล่านี้ตามค่าเริ่มต้นใน Android 15 ขึ้นไป ในอุปกรณ์ที่ใช้ Android 13 หรือ 14 ผู้ใช้สามารถเปิดใช้ภาพเคลื่อนไหวเหล่านี้ผ่าน ตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์

หากต้องการรับภาพเคลื่อนไหวของระบบ ให้อัปเดตทรัพยากร Dependency ของ AndroidX Activity เป็น 1.6.0 ขึ้นไป

เปิดใช้การย้อนกลับที่คาดการณ์ได้ด้วย Navigation Compose

หากต้องการใช้การย้อนกลับที่คาดการณ์ได้ใน Navigation Compose ให้ตรวจสอบว่าคุณใช้ไลบรารี navigation-compose 2.8.0 เวอร์ชันขึ้นไป

Navigation Compose จะเฟดข้ามระหว่างหน้าจอโดยอัตโนมัติเมื่อผู้ใช้ปัดกลับ

รูปที่ 2 ภาพเคลื่อนไหวเฟดข้ามเริ่มต้นในแอป SociaLite

เมื่อนำทาง คุณสามารถสร้างการเปลี่ยนภาพที่กำหนดเองด้วย 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,
)

โค้ดนี้จะให้ผลลัพธ์ต่อไปนี้

รูปที่ 3 ภาพเคลื่อนไหวที่กำหนดเองในแอป SociaLite

popEnterTransition และ popExitTransition จะควบคุมภาพเคลื่อนไหวโดยเฉพาะเมื่อป๊อป Back Stack ด้วยท่าทางสัมผัสย้อนกลับ เป็นต้น นอกจากนี้ คุณยังใช้ enterTransition และ exitTransition เพื่อกำหนดภาพเคลื่อนไหวสำหรับการเข้าและออกจาก Composables โดยทั่วไปได้ด้วย ไม่ใช่แค่สำหรับการย้อนกลับที่คาดการณ์ได้เท่านั้น หากคุณตั้งค่า enterTransition และ exitTransition เท่านั้น ระบบจะใช้ค่าดังกล่าวสำหรับการนำทางปกติและการป๊อป Back Stack อย่างไรก็ตาม การใช้ popEnterTransition และ popExitTransition จะช่วยให้คุณสร้างภาพเคลื่อนไหวที่แตกต่างกันสำหรับการนำทางย้อนกลับได้

ผสานรวมกับการเปลี่ยนภาพขององค์ประกอบแบบใช้ร่วมกัน

การเปลี่ยนภาพขององค์ประกอบแบบใช้ร่วมกันจะสร้างการเชื่อมต่อภาพที่ราบรื่นระหว่าง Composables ที่มีเนื้อหาร่วมกัน ซึ่งมักใช้สำหรับการนำทาง

รูปที่ 4 การเปลี่ยนภาพขององค์ประกอบแบบใช้ร่วมกันกับการย้อนกลับที่คาดการณ์ได้ใน Navigation Compose

หากต้องการใช้องค์ประกอบแบบใช้ร่วมกันกับ Navigation Compose โปรดดู การย้อนกลับที่คาดการณ์ได้ด้วยองค์ประกอบแบบใช้ร่วมกัน

รองรับการย้อนกลับที่คาดการณ์ได้ด้วยคอมโพเนนต์ Material Compose

คอมโพเนนต์หลายรายการในไลบรารี Material Compose ได้รับการออกแบบมาให้ทำงานร่วมกับท่าทางสัมผัสการย้อนกลับที่คาดการณ์ได้อย่างราบรื่น หากต้องการเปิดใช้ภาพเคลื่อนไหวของการย้อนกลับที่คาดการณ์ได้ในคอมโพเนนต์เหล่านี้ ให้รวมทรัพยากร Dependency Material3 ล่าสุด (androidx.compose.material3:material3-*:1.3.0 ขึ้นไป) ไว้ในโปรเจ็กต์

คอมโพเนนต์ Material ที่รองรับภาพเคลื่อนไหวของการย้อนกลับที่คาดการณ์ได้ ได้แก่

SearchBar และ ModalBottomSheet จะแสดงภาพเคลื่อนไหวโดยอัตโนมัติด้วย ท่าทางสัมผัสการย้อนกลับที่คาดการณ์ได้ ModalNavigationDrawer, ModalDrawerSheet, DismissibleDrawerSheet และ DismissibleNavigationDrawer กำหนดให้คุณต้องส่ง drawerState ไปยัง Composables ของเนื้อหาชีตที่เกี่ยวข้อง

ทดสอบภาพเคลื่อนไหวของท่าทางสัมผัสการย้อนกลับที่คาดการณ์ได้

หากยังใช้ Android 13 หรือ Android 14 อยู่ คุณสามารถทดสอบภาพเคลื่อนไหวของการย้อนกลับไปที่หน้าแรกได้

หากต้องการทดสอบภาพเคลื่อนไหวนี้ ให้ทำตามขั้นตอนต่อไปนี้

  1. ในอุปกรณ์ ให้ไปที่การตั้งค่า > ระบบ > ตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์
  2. เลือกภาพเคลื่อนไหวของการย้อนกลับที่คาดการณ์ได้
  3. เปิดแอปที่อัปเดตแล้ว และใช้ท่าทางสัมผัสย้อนกลับเพื่อดูการทำงาน

ใน Android 15 ขึ้นไป ระบบจะเปิดใช้ฟีเจอร์นี้ตามค่าเริ่มต้น

แหล่งข้อมูลเพิ่มเติม