สร้าง 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
  • AmbientModeSupport: คลาสที่ใช้กับอินเทอร์เฟซ AmbientModeSupport.AmbientCallbackProvider เพื่อรองรับโหมดแอมเบียนท์

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

เพิ่มทรัพยากร Dependency ในไลบรารี UI ของ Wear OS

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

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

นำเข้าคลาสจากแพ็กเกจไลบรารี UI ของ Wear OS

หากต้องการใช้คลาสจากไลบรารี UI ของ Wear OS ให้นำเข้าจากแพ็กเกจ androidx.wear.widget

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

ในไฟล์เลย์เอาต์ ให้ใช้ชื่อที่สมบูรณ์ในตัวเองซึ่งสอดคล้องกับไลบรารี 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>