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

UserConfigurations מאפשרות ליצור אפשרויות שהמשתמש יכול לבחור מביניהן. אתם יכולים לשנות את המראה של רכיבים בתצוגת השעון בהתאם לערכים שתבחרו.

אפשרויות ההגדרה של המשתמש יכולות להיות:

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

אפשרויות בוליאניות

אפשרויות בוליאניות הן אולי הפשוטות ביותר מבין הגדרות המשתמש. אפשר להגדיר אותם באופן הבא:

<!-- Under WatchFace element -->
<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>

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

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

    <!-- Within the main Scene of the watch face -->
    <BooleanConfiguration id="show_date">
        <BooleanOption id="TRUE">
            <!-- ...Content when date required -->
        </BooleanOption>
        <BooleanOption id="FALSE">
            <!-- ...Content when date not required -->
        </BooleanOption>
    </BooleanConfiguration>

    הערה: אי אפשר להשתמש באפשרויות ההגדרה באופן היררכי.

  2. אפשר גם להשתמש באפשרות ההגדרה בביטויים:

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

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

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

<!-- Under WatchFace element -->
<UserConfigurations>
    <ListConfiguration id="background_image" displayName="background_image_label"
        icon="background_option_icon"
        screenReaderText="background_image_label" defaultValue="0">
        <ListOption id="0" displayName="background0_image_label"
            screenReaderText="background0_image_label" icon="background0_icon" />
        <ListOption id="1" displayName="background1_image_label"
            screenReaderText="background1_image_label" icon="background1_icon" />
        ...
    </ListConfiguration>
</UserConfigurations>

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

  1. שימוש ברכיב ListConfiguration ב-Scene:

    <!-- Within the main Scene of the watch face -->
    <ListConfiguration id="background_image">
        <ListOption id="0">
            <!-- ...Content for option 0 -->
        </ListOption>
        <ListOption id="1">
            <!-- ...Content for option 1 -->
        </ListOption>
    </ListConfiguration>

  2. אפשרות אחרת היא להשתמש באפשרות ההגדרה בביטויים מורכבים יותר:

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

ערכות צבעים

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

לדוגמה, כדי להגדיר עיצוב עם שני רכיבים ושלושה צבעים, מגדירים את ColorConfiguration באופן הבא:

<!-- Under WatchFace element -->
<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>

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

<AnalogClock x="0" y="0" width="450" height="450">
    <HourHand resource="hour" x="220" y="55" width="20" height="190"
        pivotX="0.5" pivotY="0.9210"
        tintColor="[CONFIGURATION.myThemeColor.0]"/>
    <MinuteHand resource="minute" x="222" y="30" width="16" height="220"
        pivotX="0.5" pivotY="0.9"
        tintColor="[CONFIGURATION.myThemeColor.1]"/>
    <SecondHand resource="second" x="226" y="20" width="8" height="245"
        pivotX="0.5" pivotY="0.8571"
        tintColor="[CONFIGURATION.myThemeColor.2]"/>
</AnalogClock>

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

טעמים

הערה: גרסאות נתמכות בגרסה 2 ומעלה של פורמט תצוגת השעון.

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

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

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

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

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

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

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

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

כדי להשתמש בטעמים, צריך להפעיל אותם ב-watch_face_info.xml. לכן, צריך להגדיר את הרכיב FlavorsSupported בקובץ watch_face_info.xml עם הערך value="true".

כל Flavor מוגדר ב-UserConfigurations באופן הבא:

<!-- Under UserConfigurations -->
<Flavors defaultValue="sporty_flavor">
    <Flavor id="sporty_flavor"
        displayName="flavor_sporty_label" screenReaderText="flavor_sporty_label">
        <Configuration id="theme_color" optionId="0"/>
        <Configuration id="background_image" optionId="0"/>
        <Configuration id="show_hr" optionId="TRUE"/>
        <ComplicationSlot slotId="0">
            <DefaultProviderPolicy
                defaultSystemProvider="STEP_COUNT"
                defaultSystemProviderType="SHORT_TEXT"/>
        </ComplicationSlot>
    </Flavor>
    <Flavor id="sophisticated_flavor"
        displayName="flavor_sophisticated_label" screenReaderText="flavor_sophisticated_label">
        <Configuration id="theme_color" optionId="1"/>
        <Configuration id="background_image" optionId="1"/>
        <Configuration id="show_hr" 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>