שינוי דינמי של מראה הרכיב

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

ב-Watch Face Format, אפשר לעשות את זה באמצעות הרכיב Transform. לא ניתן לבצע טרנספורמציה בכל האלמנטים, אבל האלמנטים שניתן לבצע בהם טרנספורמציה כוללים: אלמנטים Group, Part* ופרימיטיבים של שרטוטים כמו צורות וסגנונות.

מאפיינים של כל רכיב שאפשר לשנות מסומנים כך במסמכי העזר.

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

לדוגמה, כדי לשנות את הזווית של Arc בהתאם להתקדמות בשלב:

<Arc centerX="225" centerY="225" height="420" width="420" startAngle="0" endAngle="0">
    <Transform target="endAngle" value="[STEP_PERCENT] * 3.6" />
    <Stroke color="#FF00FF" thickness="20" />
</Arc>

כשהערך של STEP_PERCENT משתנה, המערכת מחשבת מחדש את הערך של endAngle ומציירת מחדש את Arc.

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

<PartDraw x="100" y="150" width="250" height="120" >
    <Ellipse x="0" y="0" width="50" height="50">
        <Fill color="#ff0000" />
        <!-- Red ball with no animated transition -->
        <Transform target="x" value="[SECOND] % 2 == 0 ? 0 : 200"/>
    </Ellipse>
    <Ellipse x="0" y="100" width="50" height="50">
        <Fill color="#00ff00" />
        <!-- Green ball eases between each position -->
        <Transform target="x" value="[SECOND] % 2 == 0 ? 0 : 200">
            <Animation duration="1" interpolation="EASE_IN_OUT" />
        </Transform>
    </Ellipse>
</PartDraw>

שינויים באמצעות מד התאוצה

אפשר להשתמש ברכיב Transform עם מקורות נתונים גירוסקופיים כמו ACCELEROMETER_ANGLE_X כדי לשנות את המיקום או את קנה המידה של רכיב, אבל בפורמט של פני שעון יש רכיב נפרד למטרה הזו: Gyro.

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