dynamicznie zmieniać wygląd elementów.

Możesz zmienić wygląd części tarczy zegarka, np. zmienić pozycję, rozmiar lub widoczność, często w odpowiedzi na źródła danych, takie jak pora dnia czy akcelerometr.

W Formatzie tarczy zegarka można to osiągnąć za pomocą elementu Transform. Nie wszystkie elementy można przekształcać, ale główne elementy podlegające przekształceniu to: Group , elementy Part* oraz prymitywne elementy rysunkowe, takie jak kształty i style.

Atrybuty każdego elementu, które można przekształcić, są oznaczone w dokumentacji referencyjnej.

Samo przekształcenie jest określone w atrybucie value w języku wyrażeń formatu tarczy zegarka, który może zawierać źródła danych. targetokreśla atrybut, który ma zostać zmieniony w elemencie nadrzędnym.

Aby na przykład zmienić kąt Arc, aby odzwierciedlał postępy w kroku:

<Arc centerX="225" centerY="225" height="420" width="420" startAngle="0" endAngle="0">
  <Transform target="endAngle" value="[STEP_PERCENT] * 3.6" />
  <...>
</Arc>

Gdy zmienia się wartość STEP_PERCENT, ponownie obliczana jest wartość endAngle, a rysunek Arc jest ponownie generowany.

Gdy element Transform zmienia wartość docelową, może być pożądane, aby ta zmiana była animowana na przestrzeni czasu, zamiast natychmiastowej zmiany wartości, która może być drażniąca. Aby to zrobić, użyj elementu 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>

Przekształcenia za pomocą akcelerometru

Chociaż element Transform można używać z użyciem źródeł danych żyroskopowych, takich jak ACCELEROMETER_ANGLE_X, aby zmienić położenie lub skalę elementu, format tarczy zegarka udostępnia do tego celu osobny element: Gyro.

Pozwala to uprościć ogólny obraz, oddzielając przekształcenie oparte na ruchu od innych przekształceń, takich jak przekształcenie oparte na czasie, które może być stosowane do tego samego elementu.