הצגת נתונים שימושיים באמצעות רכיבים

רכיבים הם תכונה של תצוגות שעון בשעונים רגילים ובשעונים חכמים, שמאפשרת להציג מידע נוסף. בדרך כלל המשתמש בוחר איזה מידע יוצג בסיבוך.

בדרך כלל יש כמה סוגים של סיבוכים:

  1. מלבני
  2. מעגלי
  3. קשתות לאורך הקצה של תצוגת השעון
  4. רקע שמכסה את כל תצוגת השעון

ב-Wear OS, אפשר לחלק את מערכת הנתונים הנוספים לשני חלקים:

  1. מקור הנתונים של הרכיב
  2. העיבוד של הרכיב

לדוגמה, אפליקציה לבריאות ולכושר יכולה להטמיע מקור נתונים של רכיב מידע על מספר הצעדים היומי. יכול להיות שהיא תוצג על ידי תצוגת השעון WFF.

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

מקורות נתונים של רכיבים מציינים רק את הנתונים שצריך לרנדר ואת סוג הרכיב. מקור הנתונים לא משפיע על האופן שבו הנתונים מוצגים בתצוגת השעון.

לדוגמה, יכול להיות שמקור הנתונים של סיבוך 'צעדים יומיים' בנושא בריאות וכושר יפיק את הנתונים הבאים כדי לציין שהמשתמש עשה 2,400 מתוך 10,000 הצעדים שהוגדרו כיעד להיום:

שימו לב שאין בנתונים האלה שום דבר שמצביע על האופן שבו צריך להציג אותם.

תצוגת השעון מציינת אילו סוגים של רכיבים היא יכולה לרנדר. כך קובעים אילו מקורות נתונים יהיו זמינים למשתמש לבחירה.

בדוגמה של 'צעדים יומיים', אתם קובעים בהגדרת תצוגת השעון איך להציג את Value ואת TargetValue: כטקסט או כאינדיקטור התקדמות? ההחלטה הזו נתונה לשיקול דעתכם כמעצבי תצוגת השעון.

הגדרת רכיבים בשעון

האפשרות להציג סיבוכים בתצוגת השעון יכולה להיות שימושית למשתמשים, כי היא מאפשרת להם לקבל מגוון רחב יותר של מידע במבט חטוף, בהתאם לצרכים שלהם.

מחליטים אם להוסיף לשעון סיבוכים, כמה סיבוכים להוסיף, מה יהיו הצורות והמיקומים שלהם ואילו סוגי נתונים הם יתמכו.

כל מקום בתצוגת השעון לרכיב מידע מוגדר כ-ComplicationSlot שבתוכו מוגדר אזור תוחם לעיבוד של רכיב המידע:

<ComplicationSlot slotId="1" supportedTypes="SHORT_TEXT SMALL_IMAGE EMPTY"
    x="100" y="100" width="100" height="100">
    <BoundingOval x="0"  y="0" width="100" height="100" />
    <Complication type="SHORT_TEXT">
        <!-- Complication content for rendering SHORT_TEXT data goes here -->
    </Complication>
    <Complication type="SMALL_IMAGE">
        <!-- Complication content for rendering SMALL_IMAGE data goes here -->
    </Complication>
</ComplicationSlot>

אפשר להשתמש בגישה דומה גם לגבי צורות תיחום אחרות, כמו מלבן ואליפסה.

הגדרת סוג הרכיב והגדרות ברירת המחדל

מערכת הרכיבים מספקת מספר סוגים שונים, שמאפשרים לתצוגת השעון להציג את סוג הנתונים שאפשר לייצג על המסך. לדוגמה, רכיב Arc, כפי שמוצג למעלה, לא מתאים במיוחד לסוג נתונים של רכיב מבוסס-תמונה כמו SMALL_IMAGE, אבל יכול להתאים מאוד לנתונים מספריים כמו RANGED_VALUE.

בהצהרה ComplicationSlot, מגדירים את supportedTypes לרשימה מופרדת ברווחים של הסוגים שאפשר להציג במשבצת הזו.

צריך גם להגדיר את מקור ברירת המחדל לComplicationSlot, אלא אם מאפשרים את הסוג EMPTY. במקרה כזה, הגדרת ברירת מחדל היא אופציונלית:

<ComplicationSlot slotId="2" supportedTypes="SHORT_TEXT SMALL_IMAGE EMPTY"
    x="250" y="100" width="100" height="100">
    <DefaultProviderPolicy
        defaultSystemProvider="STEP_COUNT"
        defaultSystemProviderType="SHORT_TEXT" />
    <!-- ... -->
</ComplicationSlot>

בנוסף לחובה לציין ספקי מערכת, אפשר לציין גם ספקים שהם לא ספקי מערכת, כמו ספקי צד שלישי, לשימוש כברירת מחדל, אם הם כבר מותקנים.

הצגת נתונים של רכיבים

אחרי שמגדירים את ComplicationSlot, את הגבולות ואת רכיב Complication המכיל, משתמשים ברכיבי WFF רגילים, כמו PartDraw, PartImage ו-PartText, כדי להציג את נתוני הסיבוך.

לרכיבים בנתוני Complication יש גישה למקור נתונים מיוחד: COMPLICATION, שמספק את מאפייני הנתונים השונים שהוגדרו על ידי מקור נתוני התוסף.

לדוגמה, רכיב SMALL_IMAGE יכול להגדיר את הערכים COMPLICATION.SMALL_IMAGE ו-COMPLICATION.SMALL_IMAGE_AMBIENT. אפשר להשתמש בהם במקום ב-resource ברכיב Image:

<Complication type="SMALL_IMAGE">
    <PartImage x="0" y="0" width="100" height="100">
        <Image resource="[COMPLICATION.SMALL_IMAGE]" />
    </PartImage>
</Complication>

לכל סוג של רכיב מידע יש קבוצה שונה של מאפיינים זמינים שאפשר להגדיר. רשימה מלאה של כל המאפיינים זמינה במאמר בנושא Complication. בדוגמה הזו מוצג הטקסט מרכיב SHORT_TEXT של שעון:

<Complication type="SHORT_TEXT">
    <PartText x="0" y="0" width="100" height="100">
        <Text>
            <Font size="32">
                <Template>
                    <![CDATA[%s]]><Parameter expression="[COMPLICATION.TEXT]" />
                </Template>
            </Font>
        </Text>
    </PartText>
</Complication>

הצגת מידע שימושי ככל האפשר כשמעבדים נתונים של תוספים

יש כמה אתגרים כשמוסיפים ComplicationSlots לתצוגת השעון:

  1. יש סוגים רבים של נתוני רכיבים. אפליקציות שונות יכולות לספק אחת מהאפשרויות האלה או יותר.
  2. לכל סוג נתונים של Complication יש מאפייני חובה וגם מאפיינים אופציונליים רבים. בודקים שהרינדור הכי שימושי נוצר מהמאפיינים הזמינים, תוך התחשבות בשילובים השונים.

כדי לפתור את הבעיות האלה, אפשר לנסות את הפתרונות הבאים:

  1. תמיכה בכמה סוגים של מידע בכל משבצת. לדוגמה, SHORT_TEXT נתמך באופן נרחב במקורות נתונים של רכיבי מידע, ולכן תמיכה במספר סוגים שונים, כמו SHORT_TEXT RANGED_VALUE לרכיב מידע קטן ועגול, מגדילה את התאימות.
  2. להציע סוגים שונים של רכיבים בתצוגת השעון. לדוגמה, אפשר לתמוך ב-RANGED_VALUE וב-GOAL_PROGRESS ברכיבים של Arc שממוקמים בקצה, וב-SHORT_TEXT וב-SMALL_IMAGE ברכיבים מעגליים בגוף של תצוגת השעון.
  3. בודקים אם יש רכיבים אופציונליים לכל סוג נתונים. לדוגמה, SHORT_TEXT תומך באופן אופציונלי במאפיין של כותרת ובתמונה. הפריסה שלכם להצגת הנתונים הזמינים עשויה להיות שונה בהתאם לשאלה אם תמונה או שם זמינים או לא.