เปลี่ยนลักษณะที่ปรากฏขององค์ประกอบแบบไดนามิก

คุณอาจต้องการเปลี่ยนลักษณะที่ปรากฏของส่วนต่างๆ ของหน้าปัด เช่น เปลี่ยนตำแหน่ง ขนาด ระดับการเข้าถึง ซึ่งมักจะตอบสนองต่อแหล่งที่มาของข้อมูลอินพุต เช่น เวลาของวันหรือเซ็นเซอร์ตรวจจับความเร่ง

ใน 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" />
  <...>
</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

วิธีนี้ช่วยให้คุณลดความซับซ้อนของภาพรวมได้ โดยแยกการเปลี่ยนรูปแบบตามการเคลื่อนไหวออกจากการเปลี่ยนรูปแบบอื่นๆ เช่น การเปลี่ยนรูปแบบตามเวลา ซึ่งอาจใช้กับองค์ประกอบเดียวกัน