תכונות נוספות הן תכונה של תצוגות שעון בשעונים פיזיים ובשעונים חכמים, שמציגות מידע נוסף. בדרך כלל המשתמש בוחר איזה מידע יוצג ב-complication.
בדרך כלל יש כמה סוגים של סיבוכים:
- מלבני
- מעגלי
- קשתות, לאורך הקצה של תצוגת השעון
- רקע, שמכסה את כל תצוגת השעון
ב-Wear OS, אפשר לחלק את מערכת התכונות הנוספות לשני חלקים:
- מקור הנתונים של התוסף
- עיבוד של הרכיב
לדוגמה, אפליקציית בריאות וכושר עשויה להטמיע מקור נתונים של complication של 'צעדים יומיים'. תצוגת השעון של WFF יכולה להציג את המידע הזה.
מקורות נתונים בתכונות נוספות
מקורות הנתונים של התכונה 'שעון עם תצוגה מורחבת' מציינים רק את הנתונים שצריך להציג ואת סוג התצוגה המורחבת. מקור הנתונים לא משפיע על האופן שבו הנתונים יוצגו בתצוגת השעון.
לדוגמה, מקור הנתונים של תרשים הצעדים היומי בבריאות ובכושר עשוי לספק את הנתונים הבאים כדי לציין שהמשתמש צעד היום 2,400 מתוך היעד של 10,000 צעדים:
- סוג:
GOAL_PROGRESS
- ערך:
2400
- TargetValue:
10000
חשוב לזכור שבנתונים האלה אין שום דבר שמציין איך צריך להציג אותם.
לכל שעון יש הגדרה של סוגי התכונות הנוספות שהוא יכול להציג. כך קובעים אילו מקורות נתונים יהיו זמינים למשתמשים לבחירה.
בדוגמה של 'צעדים יומיים', אתם מחליטים בהגדרה של תצוגת השעון איך להציג את Value
ו-TargetValue
: כטקסט או כמדד התקדמות? זה תלוי בכם, בתור מעצבים של תצוגות השעון.
הגדרת רכיבים
הצגת רכיבי 'התאמה אישית' בתצוגת השעון יכולה להיות שימושית למשתמשים, כי היא מאפשרת להם לראות מגוון רחב יותר של מידע במבט מהיר ולהתאים אותו לצרכים שלהם.
אתם יכולים להחליט אם תתמוכו ברכיבי 'מידע נוסף' בחזית השעון, כמה רכיבים תתמכו בהם, מה יהיו הצורות והמיקומים שלהם ואילו סוגי נתונים הם יתמכו בהם.
כל מרחב בשעון לצורך רכיב מורכב מוגדר בתור ComplicationSlot
, שבתוכו מוגדר אזור גבול לצורך הרינדור של הרכיב המורכב:
<ComplicationSlot slotId="1" supportedTypes="SHORT_TEXT SMALL_IMAGE EMPTY"
x="0" y="0" width="225" height="225">
<BoundingArc centerX="225" centerY="225" width="450" height="450"
startAngle="270" endAngle="360" thickness="50" />
<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="1" ...>
<BoundingArc .../>
<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
. אפשר להשתמש באפשרויות הבאות במקום במשאב ברכיב Image
:
<Complication type="SMALL_IMAGE">
<PartImage ...>
<Image resource="[COMPLICATION.SMALL_IMAGE]" />
</PartImage>
</Complication>
לכל סוג של complication יש קבוצה שונה של מאפיינים שאפשר להגדיר. רשימה מלאה של כל אחד מהם מופיעה במסמך העזרה של Complication
.
בדוגמה הזו מוצג הטקסט מ-SHORT_TEXT
complication:
<Complication type="SHORT_TEXT">
<PartText ...>
<Text>
<Font ...>
<Template>
<![CDATA[%s]]><Parameter expression="[COMPLICATION.TEXT]" />
</Template>
</Font>
</PartImage>
</Complication>
ממקסמים את התועלת כשמייצרים רכיבי Complications
יש כמה אתגרים כשאתם מוסיפים את ComplicationSlots
ללוח השעון:
- יש מספר סוגים של נתונים של רכיבים. אפליקציות שונות יכולות לספק אחת מהאפשרויות האלה או כמה מהן.
- לכל סוג נתונים של Complication יש מאפיינים חובה, וגם הרבה מאפיינים אופציונליים. בודקים שהעיבוד (רינדור) המועיל ביותר מתבצע מהנכסים הזמינים, תוך התחשבות בשילובים השונים.
כדי לטפל בבעיות האלה, אפשר להשתמש באסטרטגיות הבאות:
- תמיכה במספר סוגי 'תצוגות מפורטות' לכל משבצת. לדוגמה,
SHORT_TEXT
נתמך במגוון רחב של מקורות נתונים של סמלי complications, כך שתמיכה במספר סוגים שונים, כמוSHORT_TEXT RANGED_VALUE
לסמל complication עגול קטן, מגדילה את התאימות. - להציע סוגים שונים של תכונות נוספות בתצוגת השעון. לדוגמה, תוכלו לתמוך ב-
RANGED_VALUE
וב-GOAL_PROGRESS
בכרטיסי מידע מסוג Arc שממוקמים בקצה, וב-SHORT_TEXT
וב-SMALL_IMAGE
בכרטיסי מידע עגולים בגוף של תצוגת השעון. - בודקים אם יש רכיבים אופציונליים לכל סוג נתונים. לדוגמה, אפשר להשתמש ב-
SHORT_TEXT
עם מאפיין title ותמונה. הפריסה של עיבוד הנתונים הזמינים עשויה להשתנות בהתאם לזמינות של תמונה או שם.