ممکن است بخواهید ظاهر قسمت هایی از صفحه ساعت را تغییر دهید، به عنوان مثال، موقعیت، اندازه، دید را اغلب در پاسخ به منابع داده ورودی مانند زمان روز یا شتاب سنج تغییر دهید.
در فرمت Watch Face، این با استفاده از عنصر Transform
به دست می آید. همه عناصر را نمی توان تبدیل کرد، اما عناصر قابل تبدیل اصلی عبارتند از: Group
، عناصر Part*
و طراحی اولیه مانند اشکال و سبک ها.
ویژگی های هر عنصری که قابل تبدیل هستند در مستندات مرجع به این صورت مشخص می شوند.
خود تبدیل در ویژگی value
، در زبان عبارت Watch Face Format، که میتواند شامل منابع داده باشد، مشخص میشود. 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
برای تغییر موقعیت یا مقیاس یک عنصر وجود دارد، فرمت Watch Face یک عنصر جداگانه برای این موارد ارائه می دهد: Gyro
.
این به شما امکان میدهد تصویر کلی را ساده کنید و تبدیل مبتنی بر حرکت را از سایر تبدیلها مانند زمان، که ممکن است برای همان عنصر اعمال شود، جدا کنید.