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

ท่าทางสัมผัสย้อนกลับแบบคาดเดาและการเคลื่อนไหวของระบบจะเปิดใช้อยู่โดยค่าเริ่มต้น หากแอปของคุณ สกัดกั้นเหตุการณ์ย้อนกลับและคุณยังไม่ได้ย้ายข้อมูลไปยังการคาดการณ์การย้อนกลับ ให้อัปเดตแอปเพื่อใช้ 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 จะเปลี่ยนหน้าจอแบบครอสเฟดโดยอัตโนมัติเมื่อผู้ใช้ปัดกลับ

รูปที่ 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 จะควบคุมภาพเคลื่อนไหวโดยเฉพาะ เมื่อแสดงผลสแต็กย้อนกลับด้วยท่าทางสัมผัสย้อนกลับ เป็นต้น นอกจากนี้ คุณยังใช้ enterTransition และ exitTransition เพื่อกำหนดภาพเคลื่อนไหวสำหรับการเข้าและออกจาก Composable โดยทั่วไปได้ด้วย ไม่ใช่เฉพาะการย้อนกลับแบบคาดการณ์เท่านั้น หากคุณตั้งค่าเฉพาะ enterTransition และ exitTransition ระบบจะใช้ค่าดังกล่าวทั้งสำหรับการนำทางปกติ และการป๊อปแบ็กสแต็ก อย่างไรก็ตาม การใช้ popEnterTransition และ popExitTransition จะช่วยให้คุณสร้างภาพเคลื่อนไหวที่แตกต่างกันสำหรับการนำทางย้อนกลับได้

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

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

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

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

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

คอมโพเนนต์หลายอย่างในไลบรารี Material Compose ออกแบบมาให้ทำงานร่วมกับท่าทางสัมผัสย้อนกลับแบบคาดการณ์ได้อย่างราบรื่น หากต้องการเปิดใช้ภาพเคลื่อนไหวการคาดการณ์การย้อนกลับในคอมโพเนนต์เหล่านี้ ให้รวมการอ้างอิง 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 ขึ้นไป ฟีเจอร์นี้จะเปิดใช้อยู่โดยค่าเริ่มต้น

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