navigationevent
อัปเดตล่าสุด | รุ่นที่เสถียร | รุ่นที่อาจได้รับการเผยแพร่ | รุ่นเบต้า | เวอร์ชันอัลฟ่า |
---|---|---|---|---|
18 มิถุนายน 2025 | - | - | - | 1.0.0-alpha03 |
การประกาศทรัพยากร Dependency
หากต้องการเพิ่มการอ้างอิง navigationevent คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในโปรเจ็กต์ อ่านข้อมูลเพิ่มเติมในที่เก็บ Maven ของ Google
เพิ่มการอ้างอิงสำหรับอาร์ติแฟกต์ที่ต้องการในไฟล์ build.gradle
สำหรับแอปหรือโมดูล
Groovy
dependencies { implementation "androidx.navigationevent:navigationevent:1.0.0-alpha03" }
Kotlin
dependencies { implementation("androidx.navigationevent:navigationevent:1.0.0-alpha03") }
ดูข้อมูลเพิ่มเติมเกี่ยวกับการพึ่งพาได้ที่เพิ่มการพึ่งพิงบิวด์
ความคิดเห็น
ความคิดเห็นของคุณช่วยปรับปรุง Jetpack ได้ โปรดแจ้งให้เราทราบหากพบปัญหาใหม่หรือมีแนวคิดในการปรับปรุงคลังนี้ โปรดดูปัญหาที่มีอยู่ในคลังนี้ก่อนสร้างปัญหาใหม่ คุณสามารถเพิ่มการโหวตให้กับปัญหาที่มีอยู่ได้โดยคลิกปุ่มดาว
ดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบของเครื่องมือติดตามปัญหา
ไม่มีบันทึกประจำรุ่นสำหรับอาร์ติแฟกต์นี้
รุ่น 1.0
เวอร์ชัน 1.0.0-alpha03
18 มิถุนายน 2025
androidx.navigationevent:navigationevent-*:1.0.0-alpha03
ได้รับการปล่อยแล้ว เวอร์ชัน 1.0.0-alpha03 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เปิดตัวโมดูล
navigationevent-compose
ใหม่เพื่อรองรับฟีเจอร์ Jetpack Compose ในไลบรารีnavigationevent
(980d78) NavigationEvent
Compose ได้เพิ่มการคอมโพสิชันในเครื่องLocalNavigationEventDispatcherOwner
รายการใหม่ โดยจะแสดงผลค่าที่อนุญาตค่า Null เพื่อให้ระบุได้ดีขึ้นว่าค่านั้นพร้อมใช้งานในองค์ประกอบปัจจุบันหรือไม่ ตอนนี้NavigationEventHandler
จะแสดงข้อผิดพลาดหากไม่พบเจ้าของที่แท้จริง (62ffda)NavigationEvent
Compose ได้เพิ่มNavigationEventHandler
Composable ใหม่เพื่อจัดการเหตุการณ์ (ท่าทางสัมผัสเพื่อกลับโดยประมาณ) ซึ่งจะระบุFlow
ของออบเจ็กต์NavigationEvent
ที่ต้องรวบรวมใน Lambda ที่ระงับที่คุณระบุ c42ba6
NavigationEventHandler { progress: Flow<NavigationEvent> ->
// This block is executed when the back gesture begins.
try {
progress.collect { backEvent ->
// Handle gesture progress updates here.
}
// This block is executed if the gesture completes successfully.
} catch (e: CancellationException) {
// This block is executed if the gesture is cancelled
throw e
} finally {
// This block is executed either the gesture is completed or cancelled
}
}
การเปลี่ยนแปลง API
- ตอนนี้
NavigationEventCallback
แต่ละรายการจะลงทะเบียนกับNavigationEventDispatcher
ได้เพียงรายการเดียวในแต่ละครั้ง การเพิ่มNavigationEventCallback
ไปยังตัวกระจายหลายรายการจะทำให้เกิดIllegalStateException
โปรดทราบว่าลักษณะการทํางานนี้แตกต่างจากOnBackPressedDispatcher
ซึ่งอนุญาตให้ใช้ตัวจัดเตรียมหลายราย (e82c19) - เปลี่ยน
isPassThrough
เป็นval
เพื่อป้องกันการเปลี่ยนแปลงระหว่างการนําทาง ซึ่งอาจทําให้การส่งของNavigationEvent
หยุดชะงัก (I0b287)
เวอร์ชัน 1.0.0-alpha02
4 มิถุนายน 2025
androidx.navigationevent:navigationevent-*:1.0.0-alpha02
ได้รับการปล่อยแล้ว เวอร์ชัน 1.0.0-alpha02 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- แทนที่ตัวสร้างรองของ
NavigationEventDispatcher
ด้วยอาร์กิวเมนต์เริ่มต้น (I716a0) - นำพร็อพเพอร์ตี้ลําดับความสําคัญออกจาก
NavigationEventCallback
ส่งลําดับความสําคัญไปยังNavigationEventDispatcher.addCallback()
แทน (I13cae)
การแก้ไขข้อบกพร่อง
- แก้ไข
ConcurrentModificationException
ที่อาจเกิดขึ้นเมื่อเรียกใช้NavigationEventCallback.remove()
เนื่องจากการแก้ไขรายการที่ปิดได้ภายในพร้อมกัน (b/420919815)
เวอร์ชัน 1.0.0-alpha01
20 พฤษภาคม 2025
androidx.navigationevent:navigationevent-*:1.0.0-alpha01
ได้รับการปล่อยแล้ว เวอร์ชัน 1.0.0-alpha01 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- ไลบรารี
androidx.navigationevent
มี API ที่ใช้ KMP เป็นอันดับแรกสำหรับการจัดการการย้อนกลับของระบบ รวมถึงการย้อนกลับแบบคาดการณ์NavigationEventDispatcher
ทำหน้าที่เป็น API ทั่วไปสำหรับการลงทะเบียนอินสแตนซ์NavigationEventCallback
อย่างน้อย 1 รายการเพื่อรับเหตุการณ์การย้อนกลับของระบบ - เลเยอร์นี้อยู่ต่ำกว่า API ที่เผยแพร่ไปก่อนหน้านี้ใน
androidx.activity
และมีจุดประสงค์เพื่อเป็นทางเลือกที่ยึดถือหลักการน้อยกว่าสำหรับการใช้ Activity API ในคอมโพเนนต์ระดับที่สูงขึ้น หรือการใช้ API ของเฟรมเวิร์ก AndroidOnBackInvokedDispatcher
โดยตรง เราได้เขียน API ของandroidx.activity
ขึ้นใหม่โดยอิงตาม Navigation Event API ซึ่งเป็นส่วนหนึ่งของ Activity 1.12.0-alpha01