สร้าง UI ที่อิงตามการดูใน Wear OS

ลองใช้วิธีแบบ Compose
Jetpack Compose ใน Wear OS เป็นชุดเครื่องมือ UI ที่แนะนำสำหรับ Wear OS

Android Jetpack มีไลบรารี UI ของ Wear OS ไลบรารี UI ของ Wear OS มีคลาสต่อไปนี้

  • CurvedTextView: คอมโพเนนต์สำหรับการเขียนข้อความที่โค้งตามวงกลมที่ใหญ่ที่สุดที่สามารถจารึกไว้ในมุมมองได้อย่างง่ายดาย
  • DismissibleFrameLayout: เลย์เอาต์ที่ช่วยให้ผู้ใช้ปิดมุมมองใดก็ได้โดยกดปุ่มย้อนกลับหรือปัดบนหน้าจอจากซ้ายไปขวา ผู้ใช้ Wear OS คาดหวังให้การปัดจากซ้ายไปขวาเป็นการดำเนินการย้อนกลับ
  • WearableRecyclerView: มุมมองที่ให้ตรรกะการออฟเซ็ตพื้นฐานสำหรับการอัปเดตเลย์เอาต์ย่อยโดยใช้ WearableLinearLayoutManager
  • AmbientLifecycleObserver: อินเทอร์เฟซที่ใช้กับอินเทอร์เฟซ AmbientLifecycleObserver.AmbientLifecycleCallback เพื่อให้การสนับสนุนที่รับรู้ถึงวงจรสำหรับโหมดแอมเบียนท์

โปรดอ่านบันทึกประจำรุ่นเพื่อดูรายการทั้งหมด

เพิ่มทรัพยากร Dependency ใน Wear OS UI Library

หากต้องการเริ่มสร้างแอป ให้สร้างโปรเจ็กต์สำหรับ Wear OS โดยเฉพาะ จากนั้นเพิ่มทรัพยากร Dependency ต่อไปนี้ลงในไฟล์ build.gradle ของแอป

dependencies {
    ...
  // Standard Wear OS libraries
  implementation "androidx.wear:wear:1.4.0"
  // includes support for wearable specific inputs
  implementation "androidx.wear:wear-input:1.1.0"
}

นำเข้าคลาสจากแพ็กเกจ Wear OS UI Library

หากต้องการใช้คอมโพเนนต์ UI จากคลัง UI ของ Wear OS ให้นำเข้าจากแพ็กเกจ androidx.wear.widget หรือจาก androidx.wear.ambient เพื่อรองรับโหมดแอมเบียนท์

ใช้ชื่อองค์ประกอบที่ถูกต้องในไฟล์เลย์เอาต์

ในไฟล์เลย์เอาต์ ให้ใช้ชื่อที่สมบูรณ์ซึ่งสอดคล้องกับไลบรารี UI ของ Wear OS

ตัวอย่างเช่น หากต้องการใช้คลาส DismissibleFrameLayout จากคลัง UI ของ Wear OS คุณสามารถระบุสิ่งต่อไปนี้ในไฟล์เลย์เอาต์

<androidx.wear.widget.DismissibleFrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/swipe_dismiss_root" >

    <TextView
        android:id="@+id/test_content"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:text="Swipe the screen to dismiss me." />
</androidx.wear.widget.DismissibleFrameLayout>