ทักษะ Android
ดูใน GitHubJetpack Navigation 3
android skills add navigation-3Navigation 3 เป็นไลบรารีการนำทางที่ออกแบบมาให้ทำงานกับ Compose ด้วย Navigation 3 คุณจะควบคุม Back Stack ได้อย่างเต็มที่ และไปยังส่วนต่างๆ โดยการเพิ่มและนำรายการออกจากลิสต์ ซึ่งจะสร้าง ระบบการนำทางของแอปที่ยืดหยุ่นโดยการระบุสิ่งต่อไปนี้
- รูปแบบการสร้างแบบจำลอง Back Stack ซึ่งแต่ละรายการใน Back Stack แสดงถึงเนื้อหาที่ผู้ใช้ไปยังส่วนต่างๆ
- UI ที่อัปเดตโดยอัตโนมัติเมื่อมีการเปลี่ยนแปลง Back Stack (รวมถึงภาพเคลื่อนไหว)
- ขอบเขตสำหรับรายการใน Back Stack ซึ่งช่วยให้คงสถานะไว้ได้ขณะที่รายการอยู่ใน Back Stack
- ระบบเลย์เอาต์แบบปรับได้ที่ช่วยให้แสดงปลายทางหลายแห่งพร้อมกันได้ และสลับระหว่างเลย์เอาต์เหล่านั้นได้อย่างราบรื่น
- กลไกสำหรับเนื้อหาในการสื่อสารกับเลย์เอาต์หลัก (ข้อมูลเมตา)
- การสื่อสารระหว่างปลายทางเพื่อแสดงผลลัพธ์ระหว่างหน้าจอ
ในระดับสูง คุณจะใช้การนำทาง 3 ได้ด้วยวิธีต่อไปนี้
- กำหนดเนื้อหาที่ผู้ใช้ไปยังส่วนต่างๆ ในแอปได้ โดยแต่ละเนื้อหาจะมีคีย์ที่ไม่ซ้ำกัน และเพิ่มฟังก์ชันเพื่อเปลี่ยนคีย์นั้นเป็นเนื้อหา ดูแก้ไขคีย์ สำหรับเนื้อหา
- สร้าง Back Stack ที่มีการพุชคีย์และนำออกเมื่อผู้ใช้ไปยังส่วนต่างๆ ของแอป ดูสร้าง Back Stack
- ใช้
NavDisplayเพื่อแสดง Back Stack ของแอป เมื่อใดก็ตามที่สแต็กย้อนกลับมีการเปลี่ยนแปลง ระบบจะอัปเดต UI เพื่อแสดงเนื้อหาที่เกี่ยวข้อง ดูแสดง Back Stack - แก้ไข
NavDisplayกลยุทธ์ฉากตามต้องการเพื่อ รองรับเลย์เอาต์ที่ปรับเปลี่ยนได้และแพลตฟอร์มต่างๆ - รองรับ Deep Link เพื่อไปยังปลายทางโดยตรง
คุณดูซอร์สโค้ดทั้งหมดของ Navigation 3 ได้ใน AOSP
การปรับปรุง Jetpack Navigation
Navigation 3 ปรับปรุง API ของ Jetpack Navigation เดิมในลักษณะต่อไปนี้
- ช่วยให้ผสานรวมกับ Compose ได้ง่ายขึ้น
- ให้คุณควบคุม Back Stack ได้อย่างเต็มที่
- ช่วยให้สร้างเลย์เอาต์ที่อ่านปลายทางได้มากกว่า 1 รายการจาก Back Stack พร้อมกัน ทำให้เลย์เอาต์ปรับให้เข้ากับการเปลี่ยนแปลงขนาดหน้าต่างและอินพุตอื่นๆ ได้
อ่านเพิ่มเติมเกี่ยวกับหลักการของ Navigation 3 และตัวเลือกการออกแบบ API ในบล็อกโพสต์ประกาศ
ตัวอย่างโค้ด
ที่เก็บสูตรมีตัวอย่างวิธีใช้ องค์ประกอบพื้นฐานของ Navigation 3 เพื่อแก้ปัญหาการนำทางที่พบบ่อย