قد تحتاج إلى تغيير مظهر أجزاء من خلفية شاشة الساعة، على سبيل المثال، تغيير الموضع أو الحجم أو مستوى العرض، غالبًا استجابةً لمصادر بيانات الإدخال، مثل وقت اليوم أو مقياس التسارع.
في تنسيق خلفية شاشة الساعة، يتم تحقيق ذلك من خلال استخدام العنصر 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
إعادة رسمه.
عندما يغيّر عنصر "التحويل" قيمة مستهدَفة، قد يكون من المفيد أن يتم تحرّك
هذا التغيير على مدار فترة زمنية، بدلاً من تغيُّر فوري
في القيمة قد يكون مزعجًا. استخدِم العنصر 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
.
يتيح لك ذلك تبسيط الصورة العامة، وفصل التحويل المستنِد إلى الحركة عن التحويلات الأخرى، مثل التحويل المستنِد إلى الوقت، والذي قد يتم تطبيقه على العنصر نفسه.