Genellikle saatin zamanı veya ivmeölçer gibi giriş veri kaynaklarına yanıt olarak kadran parçalarının görünümünü (ör. konum, boyut, görünürlük) değiştirmek isteyebilirsiniz.
Saat Kadranı Formatı'nda bu, Transform
öğesi kullanılarak yapılır.
Tüm öğeler dönüştürülemese de dönüştürülebilir ana öğeler şunlardır: Group
, Part*
öğeleri ve şekiller ile stiller gibi çizim primitifleri.
Her bir öğenin dönüştürülebilir özellikleri, referans dokümanlarında bu şekilde işaretlenir.
Dönüşümün kendisi, veri kaynakları içerebilen Kadran Biçimi ifade dilinde value
özelliğinde belirtilir. target
, üst öğede değiştirilecek özelliği belirtir.
Örneğin, bir Arc
'ün açısını adım ilerleme durumunu yansıtacak şekilde değiştirmek için:
<Arc centerX="225" centerY="225" height="420" width="420" startAngle="0" endAngle="0">
<Transform target="endAngle" value="[STEP_PERCENT] * 3.6" />
<...>
</Arc>
STEP_PERCENT
değiştikçe endAngle
yeniden hesaplanır ve Arc
yeniden çizilir.
Bir Dönüşüm öğesi bir hedef değeri değiştirdiğinde, bu değişikliğin değerde ani bir değişiklik yerine bir süre boyunca animasyonlu olarak yapılması istenebilir. Bu, rahatsız edici olabilir. Aşağıdakileri yapmak için Animation
öğesini kullanın:
<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>
İvmeölçeri kullanarak dönüştürme
Bir öğenin konumunu veya ölçeğini değiştirmek için Transform
öğesini ACCELEROMETER_ANGLE_X
gibi jiroskopik veri kaynaklarıyla kullanmak mümkün olsa da Kadran Biçimi, bunlar için ayrı bir öğe sağlar: Gyro
.
Bu sayede, harekete dayalı dönüşümü aynı öğeye uygulanabilecek zamana dayalı dönüşüm gibi diğer dönüşümlerden ayırarak genel tabloyu basitleştirebilirsiniz.