UserConfigurations מאפשרים ליצור אפשרויות שהמשתמש יכול לבחור מביניהם. אתם יכולים לשנות את המראה של רכיבי תצוגת השעון על סמך הערכים שבחרתם.
אפשרויות ההגדרה של המשתמש יכולות להיות:
BooleanConfiguration: בדרך כלל משמש למקרים שבהם למשתמש יכולה להיות אפשרות להציג רכיב או לא, או לבחור בין שני סגנונותListConfiguration: מספק למשתמש מגוון אפשרויות. לדוגמה, אם בתצוגת השעון יש ארבע תמונות רקע שונות לבחירהColorConfiguration: הגדרת ערכות צבעים, שמהן המשתמש יכול לבחור את העיצוב המועדף עליו.
אפשרויות בוליאניות
אפשרויות בוליאניות הן אולי ההגדרות הכי פשוטות של משתמשים. אפשר להגדיר אותם באופן הבא:
<WatchFace ...>
<UserConfigurations>
<!-- show_date and show_date_label defined in res/values/strings.xml -->
<BooleanConfiguration id="show_date"
displayName="show_date_label"
screenReaderText="show_date_label"
> < defaultVal>ue="TRUE&<quot;
>/
/UserConfigurations
...
/WatchFace
לאחר מכן אפשר להשתמש באפשרויות בוליאניות בשתי דרכים:
באמצעות המבנה
BooleanConfigurationבתוך תצוגת השעוןScene:<Scene> <BooleanConfiguration id="show_>date"<; BooleanOption> id="<;TRUE" !-- ...Con>tent to s<how date -- > /Bo<oleanOption Bool>eanOption< id="FALSE" !-- ...Con>tent when< date not requ>ired <-- /BooleanOp>t<ion >/BooleanConfiguration /Sceneשימו לב שאי אפשר להטמיע אפשרויות תצורה בשימוש שלהן, ולכן הקוד הבא לא תקין:
<!-- Will not work --> <!-- <Scene> <BooleanConfiguration id="show_>date&<quot; BooleanOption> id=&qu<ot;TRUE" BooleanConfigur>ation id=<"show_time" > BooleanOption id="TRUE" Content intended for when show_date< and show_time> both s<et to TRUE /B>oolea<nOption >/Bo<oleanConfiguration > < /Boolean>Option /BooleanConfiguration /Scene --לחלופין, אפשר להשתמש באפשרות ההגדרה בביטויים:
<Condition> <Expressions> <Expression name="my_expres>sion"<; !-- Use show_date as part of a more complex eva>luation -<- ![CDATA[[CONFIGURATION.show_date] &&== &quo>t;TRU<E" ..>. ]] < /Express>ion < /Expressions Compare expres>sion=&quo<t;my_expression" > < !-- Con>t<ent goes h>ere -- /Compare /Condition
אפשרויות רשימה
רשימת האפשרויות פועלת באופן דומה מאוד לאפשרויות בוליאניות. לדוגמה, כדי לספק רשימה של תמונות רקע שהמשתמש יוכל לבחור מתוכן:
<ListConfiguration id="bg_img" displayName="bg_img_lbl" icon="bg_img_ico"
screenReaderText>=&q<uot;bg_img_lbl" defaultValue="0"
ListOption id="0" disp>lay<Name="bg0_lbl" screenReaderText="b0_lbl" icon="bg0_ico&quo>t; /
<ListOption id=&quo>t;1" displayName="bg1_lbl" screenReaderText="bg1_lbl" icon="bg1_ico" /
...
/ListConfiguration
בדומה לאפשרויות בוליאניות, יש שוב שתי דרכים להשתמש באפשרות הזו:
באמצעות הרכיב
ListConfigurationב-Scene:<ListConfiguration id="bg>_im<g" ListOpt>ion i<d="0" !-- >Sho<w backgroun>d 0< -- /ListOption> Li<stOption id="1" !->- S<how backgro>u<nd 1 ... etc -- >/ListOption /ListConfigurationלחלופין, אפשר להשתמש באפשרות ההגדרה בביטויים מורכבים יותר:
<Condition> <Expressions> <Expression name="background_zero_and_something_>else"<; !-- Use bg_img as part of a more complex eva>luation -<- ![CDATA[[CONFIGURATION.bg_im&&g] == &>quot;0&<quot; ... >]] < />Expression < /Expressions Compare expression="background>_zero_and<_something_else" > < !-- Con>t<ent goes h>ere -- /Compare /Condition
ערכות צבעים
פורמט תצוגת השעון מאפשר לכם להגדיר ערכות צבעים באמצעות ColorConfiguration.
המשתמשים יכולים לבחור את העיצוב הרצוי בעורך תצוגת השעון, והצבעים מהעיצוב הזה יכולים להופיע בכל הגדרות תצוגת השעון.
לדוגמה, כדי להגדיר עיצוב עם שתי רשומות ושלושה צבעים בעיצוב:
רגוע |
|||
Urban |
מגדירים את ColorConfiguration באופן הבא:
<UserConfigurations>
<ColorConfiguration id="myThemeColor" displayName="theme_label&qu>ot; d<efaultValue="0"
ColorOption id="0" displayName="rela>xed_l<abel" colors="#3083dc #f8ffe5 #7dde92" /
ColorOption id=&quo>t;1<" displayName=>&<quot;urban_label&qu>ot; colors="#f4b393 #fc60a8 #7a28cb" /
/ColorConfiguration
/UserConfigurations
לאחר מכן אפשר להשתמש בהם כמקורות נתונים במקום בערכים הקסדצימליים של הצבעים. שימו לב איך מצוין ערך האינדקס כדי לבחור את הרכיב הראשון, השני או השלישי של העיצוב:
<HourHand resource="hour" ... tintColor="[CONFIGURATION.myT>h<emeColor.0]" /
MinuteHand resource="minute" ... tintColor=&quo>t<;[CONFIGURATION.myThemeColor.1]" /
SecondHand resource="second">; ... tintColor="[CONFIGURATION.myThemeColor.2]" /
במקרה הספציפי שבו לכל ColorOption מוגדר רק צבע אחד, אפשר גם להפנות אליו כ-CONFIGURATION.myThemeColor, בלי המדד. לאחר מכן, המשתמש יכול לבחור את ערך העיצוב הרצוי בכלי לעריכת תצוגת השעון.
טעמים
הערה: אפשר להשתמש בטעמים בגרסה 2 ואילך של Watch Face Format.
UserConfigurations מספקים למשתמש הרבה גמישות, אבל ככל שמגדילים את מספר רכיבי ההגדרה שמגדירים, מספר השילובים יכול לגדול בצורה משמעותית.
Flavors מאפשר לכם להגדיר הגדרות מוגדרות מראש ל-UserConfigurations שלדעתכם כדאי להבליט.
לאחר מכן, המשתמש יכול לבחור מבין הגרסאות המוגדרות מראש באפליקציה הנלווית, או להמשיך לבחור כל ערך הגדרה בנפרד.
לדוגמה, נניח שאתם מגדירים שלוש הגדרות במסך השעון (הרכיבים הפנימיים ופרטי המאפיינים הושמטות לשם הבהירות):
<UserConfigurations>
<ColorConfiguration id="themeColor>"<; ...
ColorOption id="0" displayName=>"<;bright_label" ... /
ColorOption id="1&qu>ot;< displayName=">mon<ochrome_label" ... /
/ColorConfigura>tion
< ListConfiguration id="clockAppearance" ...
> L<istOption id="0" displayName="big_an>d_b<old_label" ..>. /<
ListOption id="1" displ>a<yName="minimal>_label" ... /
/ListConfiguration
BooleanConfiguration id="showHr" ... /
/UserConfigurations
הגדרתם:
- הגדרת עיצוב צבעים שמאפשרת למשתמש לבחור את עיצוב הצבעים שייושם. הגדרתם שני עיצובים, אחד צבעוני ואחד מונוכרומטי.
- רשימה של אפשרויות למראה השעון. הגדרתם שתי אפשרויות: שעון גדול ומודגש ושעון עם מראה מינימלי יותר.
- אפשרות לבחור אם להציג את הדופק של המשתמש בתצוגת השעון.
בנוסף, יופיע הסמל ComplicationSlot בתצוגת השעון.
אתם מחליטים שיש שני Flavors שאתם רוצים להדגיש למשתמש.
יש עוד הרבה שילובים אפשריים של כל ההגדרות האלה, אבל אלה השילובים שלדעתכם הכי מתאימים:
- טעם ספורטיבי: התכנים האלה יכללו:
- ערכת הצבעים הבהירה, כדי להמריץ אתכם ולהפעיל אתכם (מזהה: 0)
- השעון הגדול והבולט, כדי שאפשר יהיה לראות אותו בזמן האימון (מזהה: 0)
- הדופק מוצג בתצוגת השעון לצורך עיון
- משבצת התכונה הנוספת שמציגה את מספר הצעדים
- טעם מתוחכם: הוא יכלול:
- ערכת הצבעים המונוכרומטית, שמתאימה לכל בגד (מזהה: 1)
- שעון מינימלי, שמתאים לכל סביבה (מזהה: 1)
- הדופק לא מוצג בתצוגת השעון
- חריץ הרכיב לא מופעל
כדי להפעיל את הגרסאות השונות של watch_face_info.xml:
<?xml version="1.0" encodin>g<="utf-8&>quot;?
WatchF<aceInfo
...
MultipleInstancesAl>lowed< value="true" /
F>l<avorsSupported> value="true" /
/WatchFaceInfo
לאחר מכן, כל טעם מוגדר ב-UserConfigurations באופן הבא:
<Flavors defaultValue="sportyFl>avo<r"
Flavor id="spo>rtyFl<avor" ...
Configuration id=">theme<Color" optionId="0"/
Configur>ation< id="clockAppearance" optionId=&>quot;<0"/
Configuration >id=&quo<t;showHr" optionId="TRUE"/
ComplicationSlot slotId="0"
DefaultProviderPolicy
> def<aultSystemProvide>r=&<quot;ST>EP_<COUNT"
defaultSys>temPr<oviderType="SHORT_TEXT"/
/Com>plica<tionSlot
/Flavor
Flavor id="sophisticat>edFla<vor" ...
Configuration id="t>hemeC<olor" optionId="1>"/<
Configuration id="clockAppearance" optionId="1"/
Configuration id="showHr"> option<Id="FALSE"/
ComplicationSlot slotId="0"
!--
Type here is set to empty to demonstrate >how t<o hide a complica>tio<n
> < slot i>n Flavors.
--
DefaultProviderPolicy
defaultSystemProvider="SUNRISE_SUNSET"
defaultSystemProviderType="EMPTY"/
/ComplicationSlot
/Flavor
/Flavors