หลังจากออกแบบหน้าจอแต่ละหน้าจอสําหรับเส้นทางของผู้ใช้แต่ละเส้นทางแล้ว คุณอาจมีหน้าจอแนวตั้งหรือหน้าจอเดียว 2-3 หน้าจอ ต่อมา คุณต้องตัดสินใจว่าจะออกแบบหน้าจอเหล่านี้ให้ทำงานร่วมกันอย่างไร และใช้การนำทางอย่างไร
การออกแบบ
ลำดับชั้นของแอปควรเป็นลำดับชั้นแบบราบและตรงไปตรงมาตามที่ระบุไว้ในหลักเกณฑ์การออกแบบแอป
ในการเริ่มต้นใช้งาน ตัวเปิดแอปควรเปิดเส้นทางที่ผู้ใช้ใช้บ่อยที่สุด ออกแบบเส้นทางของผู้ใช้แต่ละเส้นทางโดยให้เนื้อหาที่สําคัญที่สุดอยู่ด้านบน สำหรับคอนเทนเนอร์แนวตั้ง ให้ใช้ด้านล่างเพื่อลิงก์ไปยังเส้นทางของผู้ใช้และการตั้งค่าอื่นๆ ที่ไม่พบบ่อย
เมื่อผู้ใช้เข้าสู่หน้าจอใดหน้าจอหนึ่ง โปรดตรวจสอบว่าผู้ใช้สามารถใช้ท่าทางสัมผัสเพื่อปัดออกเพื่อไปยังกองซ้อนของหน้าย้อนกลับได้
ใช้การนำทาง
เมื่อใช้การนําทาง คุณจะมี 3 ตัวเลือกตามที่อธิบายไว้ในส่วนต่อไปนี้
- กิจกรรมเท่านั้น ซึ่งเป็นแนวทางที่แนะนำ
- กิจกรรมและ Fraktment
- การนำทางของ Jetpack
กิจกรรมเท่านั้น
เนื่องจากหน้าจอแนวตั้งมักจะมีความลึก 1 ระดับ คุณจึงใช้หน้าจอทั้งหมดได้โดยใช้กิจกรรมและไม่ต้องใช้ส่วนต่างๆ
เราขอแนะนําแนวทางนี้อย่างยิ่ง ซึ่งจะลดความซับซ้อนของโค้ด และกิจกรรมจะรองรับการปัดเพื่อปิดโดยอัตโนมัติ ซึ่งยังช่วยให้การใช้โหมดแอมเบียนท์ง่ายขึ้นด้วย
หมายเหตุ: ให้กิจกรรมรับค่าจาก ComponentActivity
หากคุณไม่ได้ใช้ฟragment กิจกรรมประเภทอื่นๆ ใช้องค์ประกอบ UI สำหรับอุปกรณ์เคลื่อนที่โดยเฉพาะซึ่งคุณไม่จำเป็นต้องใช้ใน Wear OS
กิจกรรมและ Fraktment
คุณสามารถใช้ข้อมูลโค้ดกับกิจกรรมในแอป Wear OS ได้ แต่เราไม่แนะนําให้ใช้ เนื่องจากการใช้ข้อมูลโค้ดเพื่อสร้างสถาปัตยกรรมแบบแบนและตื้นนั้นไม่มีข้อดีอย่างชัดเจน
หมายเหตุ: หากใช้ข้อมูลโค้ด ให้กำหนดให้ข้อมูลโค้ดนั้นรับค่าจาก FragmentActivity
กิจกรรมประเภทอื่นๆ ใช้องค์ประกอบ UI สำหรับอุปกรณ์เคลื่อนที่โดยเฉพาะซึ่งคุณไม่จําเป็นต้องใช้ใน Wear OS
ปัญหาบางประการในการใช้ Fragment ในแอป Wear OS มีดังนี้
- คุณต้องติดตั้งใช้งานการปัดเพื่อปิดด้วยตนเอง มิเช่นนั้น เมื่อผู้ใช้ปัด ผู้ใช้จะออกจากทั้งแอป
-
หากใช้
AmbientMode
คุณต้องปรับแต่งเพื่อให้ทำงานได้อย่างถูกต้องAmbientMode
ไว้ในกิจกรรม คุณจึงต้องคำนึงถึงเรื่องนี้เมื่อติดตั้งใช้งานข้อมูลโค้ด
หากต้องการรองรับการปัดเพื่อปิดด้วยส่วนย่อย คุณต้องรวมมุมมองที่มีส่วนย่อยในคลาส SwipeDismissFrameLayout
ดูข้อมูลเพิ่มเติมได้ที่ท่าทางสัมผัสแบบปัดเพื่อปิด ซึ่งจะช่วยให้ผู้ใช้ได้รับประสบการณ์ที่สอดคล้องกันในแอป
หมายเหตุ: เมื่อใช้ Fragment ให้ใช้ FragmentManager.add
แทน FragmentManager.replace
เพื่อรองรับท่าทางสัมผัสการปัดเพื่อปิด
วิธีนี้ช่วยให้มั่นใจว่าข้อมูลโค้ดที่แสดงผลก่อนหน้าจะแสดงอยู่ใต้ข้อมูลโค้ดที่แสดงผลด้านบนขณะที่ผู้ใช้ปัดออก
การไปยังส่วนต่างๆ ใน Jetpack
Jetpack Navigation ใช้งานได้ใน Wear OS แต่มีข้อเสียเช่นเดียวกับฟragment เพิ่ม งานการพัฒนา และเนื่องจากลำดับชั้นของแอป Wear OS โดยทั่วไปแล้วเป็นแบบตื้นและเป็นเส้นตรง จึงไม่มี ข้อดีมากนัก แนวทางแบบกิจกรรมเท่านั้นเหมาะที่สุด
หากต้องการใช้ประโยชน์จากการนำทางของ Jetpack อย่างเต็มที่ ให้ทำดังนี้
-
ตรวจสอบว่าทุกส่วนย่อยใช้
SwipeDismissFrameLayout
เป็นราก และใช้การดำเนินการปิดด้วยตนเองเพื่อย้อนกลับไปในกราฟการนำทาง -
ใช้
FragmentNavigator
ที่กำหนดเองซึ่งแสดงผล Fragment ซ้อนทับกัน