Composable PredictiveBackHandler ใน Jetpack Compose ช่วยให้คุณ
สกัดกั้นท่าทางสัมผัสย้อนกลับและเข้าถึงความคืบหน้าของท่าทางสัมผัสนั้นได้ คุณสามารถตอบสนองต่อท่าทางย้อนกลับของผู้ใช้ได้แบบเรียลไทม์ โดยสร้างภาพเคลื่อนไหวหรือลักษณะการทำงานที่กำหนดเองตามระยะทางที่ผู้ใช้ปัด
หากต้องการใช้ PredictiveBackHandler โปรดตรวจสอบว่าคุณใช้
androidx.activity:activity:1.6.0 ขึ้นไป
PredictiveBackHandler มี Flow<BackEventCompat> ที่ปล่อยเหตุการณ์
ซึ่งแสดงความคืบหน้าของท่าทางสัมผัสเพื่อย้อนกลับ แต่ละเหตุการณ์จะมีข้อมูล
เช่น
progress: ค่าแบบลอยระหว่าง 0 ถึง 1 ซึ่งระบุความคืบหน้าของท่าทางสัมผัสย้อนกลับ (0 = เริ่มท่าทางสัมผัส, 1 = ทำท่าทางสัมผัสเสร็จสมบูรณ์)touchXและtouchY: พิกัด X และ Y ของเหตุการณ์การสัมผัส
ข้อมูลโค้ดต่อไปนี้แสดงการใช้งาน PredictiveBackHandler ขั้นพื้นฐาน
PredictiveBackHandler(true) { progress: Flow<BackEventCompat> -> // code for gesture back started try { progress.collect { backEvent -> // code for progress boxScale = 1F - (1F * backEvent.progress) } // code for completion boxScale = 0F } catch (e: CancellationException) { // code for cancellation boxScale = 1F throw e } }
ตัวอย่าง: ผสานรวมกับลิ้นชักการนำทาง
ตัวอย่างนี้แสดงวิธีใช้ภาพเคลื่อนไหวในแอปที่กำหนดเองโดยใช้ PredictiveBackHandler เพื่อสร้างการโต้ตอบที่ราบรื่นกับลิ้นชักการนำทาง
เพื่อตอบสนองต่อท่าทางสัมผัสย้อนกลับใน JetLagged
ในตัวอย่างนี้ เราใช้ PredictiveBackHandler เพื่อทำสิ่งต่อไปนี้
- ติดตามความคืบหน้าของท่าทางสัมผัสการย้อนกลับ
- อัปเดต
translationXของลิ้นชักตามความคืบหน้าของท่าทางสัมผัส - ใช้
velocityTrackerเพื่อเปิดหรือปิดลิ้นชักอย่างราบรื่นตาม ความเร็วของท่าทางสัมผัสเมื่อท่าทางสัมผัสเสร็จสมบูรณ์หรือถูกยกเลิก