בניית ממשקי משתמש מבוססי-צפייה ב-Wear OS

איך עושים את זה ב-Compose
‫Jetpack Compose ב-Wear OS היא ערכת הכלים המומלצת לממשק המשתמש ב-Wear OS.

‫Android Jetpack כולל את ספריית ממשק המשתמש של Wear OS. ספריית ממשק המשתמש של Wear OS כוללת את המחלקות הבאות:

  • ‫ CurvedTextView: רכיב לכתיבה קלה של טקסט שעוקב אחרי העקמומיות של המעגל הגדול ביותר שאפשר להוסיף לתצוגה.
  • ‫ DismissibleFrameLayout: פריסה שמאפשרת למשתמש לסגור כל תצוגה על ידי לחיצה על הכפתור "הקודם" או החלקה על המסך משמאל לימין. משתמשי Wear OS מצפים שהחלקה מימין לשמאל תבצע את פעולת החזרה.
  • ‫ WearableRecyclerView: תצוגה שמספקת לוגיקה בסיסית של היסט לעדכון פריסות צאצא באמצעות WearableLinearLayoutManager.
  • ‫ AmbientLifecycleObserver: ממשק שמשמש עם הממשק AmbientLifecycleObserver.AmbientLifecycleCallback כדי לספק תמיכה במצב רגיש לסביבה עם מודעות למחזור החיים.

הרשימה המלאה מופיעה בנתוני הגרסה.

הוספת תלות בספריית ממשק המשתמש של Wear OS

כדי להתחיל ליצור אפליקציות, צריך ליצור פרויקט ספציפי ל-Wear OS. לאחר מכן מוסיפים את יחסי התלות הבאים לקובץ 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

כדי להשתמש ברכיבי ממשק משתמש מספריית ממשק המשתמש של Wear OS, מייבאים אותם מהחבילה androidx.wear.widget, או מהחבילה androidx.wear.ambient לתמיכה במצב רגיש לסביבה.

שימוש בשמות הרכיבים הנכונים בקובצי הפריסה

בקובצי פריסה, צריך להשתמש בשמות מלאים שתואמים לספריית ממשק המשתמש של Wear OS.

לדוגמה, כדי להשתמש במחלקה DismissibleFrameLayout מספריית ממשק המשתמש של 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>