הגדרת הגדרות משתמשים

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"
        defaultValue="TRUE"
    />
  </UserConfigurations>
  ...
</WatchFace>

לאחר מכן אפשר להשתמש באפשרויות בוליאניות בשתי דרכים:

  1. באמצעות המבנה BooleanConfiguration בתוך תצוגת השעון Scene:

    <Scene>
        <BooleanConfiguration id="show_date">
            <BooleanOption id="TRUE">
            <!-- ...Content to show date -->
            </BooleanOption>
            <BooleanOption id="FALSE">
            <!-- ...Content when date not required -->
            </BooleanOption>
        </BooleanConfiguration>
    </Scene>
    

    שימו לב שאי אפשר להטמיע אפשרויות תצורה בשימוש שלהן, ולכן הקוד הבא לא תקין:

    <!-- Will not work -->
    <!-- <Scene>
      <BooleanConfiguration id="show_date">
        <BooleanOption id="TRUE">
          <BooleanConfiguration id="show_time">
            <BooleanOption id="TRUE">
              Content intended for when show_date and show_time both set to TRUE
            </BooleanOption>
          </BooleanConfiguration>
        </BooleanOption>
      </BooleanConfiguration>
    </Scene> -->
    
  2. לחלופין, אפשר להשתמש באפשרות ההגדרה בביטויים:

    <Condition>
    <Expressions>
        <Expression name="my_expression">
            <!-- Use show_date as part of a more complex evaluation -->
            <![CDATA[[CONFIGURATION.show_date] == "TRUE" && ... ]]>
        </Expression>
        </Expressions>
        <Compare expression="my_expression">
            <!-- Content goes here -->
        </Compare>
    </Condition>
    

אפשרויות רשימה

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

<ListConfiguration id="bg_img" displayName="bg_img_lbl" icon="bg_img_ico"
    screenReaderText="bg_img_lbl" defaultValue="0">
  <ListOption id="0" displayName="bg0_lbl" screenReaderText="b0_lbl" icon="bg0_ico" />
  <ListOption id="1" displayName="bg1_lbl" screenReaderText="bg1_lbl" icon="bg1_ico" />
  ...
</ListConfiguration>

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

  1. באמצעות הרכיב ListConfiguration ב-Scene:

    <ListConfiguration id="bg_img">
      <ListOption id="0">
        <!-- Show background 0 -->
      </ListOption>
      <ListOption id="1">
        <!-- Show background 1 ... etc -->
      </ListOption>
    </ListConfiguration>
    
  2. לחלופין, אפשר להשתמש באפשרות ההגדרה בביטויים מורכבים יותר:

    <Condition>
      <Expressions>
          <Expression name="background_zero_and_something_else">
            <!-- Use bg_img as part of a more complex evaluation -->
            <![CDATA[[CONFIGURATION.bg_img] == "0" && ... ]]>
          </Expression>
        </Expressions>
        <Compare expression="background_zero_and_something_else">
            <!-- Content goes here -->
        </Compare>
    </Condition>
    

ערכות צבעים

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

לדוגמה, כדי להגדיר עיצוב עם שתי רשומות ושלושה צבעים:

רגוע

Urban

מגדירים את ColorConfiguration באופן הבא:

<UserConfigurations>
  <ColorConfiguration id="myThemeColor" displayName="theme_label" defaultValue="0">
    <ColorOption id="0" displayName="relaxed_label" colors="#3083dc #f8ffe5 #7dde92" />
    <ColorOption id="1" displayName="urban_label" colors="#f4b393 #fc60a8 #7a28cb" />
  </ColorConfiguration>
</UserConfigurations>

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

<HourHand resource="hour" ... tintColor="[CONFIGURATION.myThemeColor.0]" />
<MinuteHand resource="minute" ... tintColor="[CONFIGURATION.myThemeColor.1]" />
<SecondHand resource="second" ... tintColor="[CONFIGURATION.myThemeColor.2]" />

במקרה הספציפי שבו לכל ColorOption מוגדר רק צבע אחד, אפשר גם להפנות אליו כ-CONFIGURATION.myThemeColor, בלי המדד.

INSERT ALT TEXT HERE INSERT ALT TEXT HERE

לאחר מכן, המשתמש יכול לבחור את ערך העיצוב הרצוי בעורך של תצוגת השעון.

טעמים

הערה: אפשר להשתמש בטעמים בגרסה 2 ואילך של Watch Face Format.

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

Flavors מאפשר לכם להגדיר הגדרות מוגדרות מראש ל-UserConfigurations שלדעתכם כדאי להבליט.

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

לדוגמה, נניח שאתם מגדירים שלוש הגדרות במסך השעון (הרכיבים הפנימיים ופרטי המאפיינים הושמטות לשם הבהירות):

<UserConfigurations>
  <ColorConfiguration id="themeColor" ...>
    <ColorOption id="0" displayName="bright_label" ... />
    <ColorOption id="1" displayName="monochrome_label" ... />
  </ColorConfiguration>
  <ListConfiguration id="clockAppearance" ... >
    <ListOption id="0" displayName="big_and_bold_label" ... />
    <ListrOption id="1" displayName="minimal_label" ... />
  </ListConfiguration>
  <BooleanConfiguration id="showHr" ... />
</UserConfigurations>

הגדרתם:

  1. הגדרת עיצוב צבעים שמאפשרת למשתמש לבחור את עיצוב הצבעים שייושם. הגדרתם שני עיצובים, אחד צבעוני ואחד מונוכרומטי.
  2. רשימה של אפשרויות למראה השעון. הגדרתם שתי אפשרויות: שעון גדול ומודגש ושעון עם מראה מינימלי יותר.
  3. אפשרות לבחור אם להציג את הדופק של המשתמש בתצוגת השעון.

בנוסף, יופיע הסמל ComplicationSlot בתצוגת השעון.

אתם מחליטים שיש שני Flavors שאתם רוצים להדגיש למשתמש. יש עוד הרבה שילובים אפשריים של כל ההגדרות האלה, אבל אלה השילובים שלדעתכם הכי מתאימים:

  1. טעם ספורטיבי: התכנים האלה יכללו:
    1. ערכת הצבעים הבהירה, כדי להמריץ אתכם ולהפעיל אתכם (מזהה: 0)
    2. השעון הגדול והבולט, כדי שאפשר יהיה לראות אותו בזמן האימון (מזהה: 0)
    3. הדופק מוצג בתצוגת השעון לצורך עיון
    4. משבצת התכונה הנוספת שמציגה את מספר הצעדים
  2. טעם מתוחכם: הוא יכלול:
    1. ערכת הצבעים המונוכרומטית, שמתאימה לכל בגד (מזהה: 1)
    2. שעון מינימלי, שמתאים לכל סביבה (מזהה: 1)
    3. הדופק לא מוצג בתצוגת השעון
    4. חריץ הרכיב לא מופעל

כדי להפעיל את הגרסאות השונות של watch_face_info.xml:

<?xml version="1.0" encoding="utf-8"?>
<WatchFaceInfo>
    ...
    <MultipleInstancesAllowed value="true" />
    <FlavorsSupported value="true" />
</WatchFaceInfo>

לאחר מכן, כל טעם מוגדר ב-UserConfigurations באופן הבא:

<Flavors defaultValue="sportyFlavor">
  <Flavor id="sportyFlavor" ... >
    <Configuration id="themeColor" optionId="0"/>
    <Configuration id="clockAppearance" optionId="0"/>
    <Configuration id="showHr" optionId="TRUE"/>
    <ComplicationSlot slotId="0">
      <DefaultProviderPolicy
              defaultSystemProvider="STEP_COUNT"
              defaultSystemProviderType="SHORT_TEXT"/>
    </ComplicationSlot>
  </Flavor>
  <Flavor id="sophisticatedFlavor" ... >
    <Configuration id="themeColor" optionId="1"/>
    <Configuration id="clockAppearance" optionId="1"/>
    <Configuration id="showHr" optionId="FALSE"/>
    <ComplicationSlot slotId="0">
      <!--
        Type here is set to empty to demonstrate how to hide a complication
        slot in Flavors.
      -->
      <DefaultProviderPolicy
              defaultSystemProvider="SUNRISE_SUNSET"
              defaultSystemProviderType="EMPTY"/>
    </ComplicationSlot>
  </Flavor>
</Flavors>