در حالی که Transform
به شما امکان می دهد ظاهر عناصر یا گروه هایی از عناصر را تغییر دهید، ممکن است مواردی وجود داشته باشد که بخواهید بین لیستی از رفتارها بر اساس شرایطی جابجا شوید. این شبیه به دستور switch
یا if…else
در زبان های دیگر است.
برای مثال، ممکن است بخواهید پسزمینه متفاوتی را برای صبح زود، صبح، ناهار، بعد از ظهر، عصر و شب نشان دهید.
عبارات Condition
در قالب Watch Face به شما این امکان را می دهد که بسته به ارزیابی عبارات، بخش های مختلفی از صحنه صفحه ساعت خود را بگنجانید، به عنوان مثال:
<Condition>
<Expressions>
<Expression name="is_early_morning">
<![CDATA[[HOUR_0_23] >= 6 && [HOUR_0_23] < 8]]
</Expression>
<Expression name="is_morning">
<![CDATA[[HOUR_0_23] < 12]]
</Expression>
...
</Expressions>
<Compare expression="is_early_morning">
<!-- Early morning content here -->
<Group ... />
</Compare>
<Compare expression="is_morning">
<!-- Morning content here -->
<Group ... />
</Compare>
...
<!-- The "else" case -->
<Default>
<!-- content -->
</Default>
</Condition>
چند نکته در مورد شرایط ذکر شده:
- اولین عنصر
Compare
که در آنexpression
true
است استفاده می شود و سایر عناصر نادیده گرفته می شوند. - با توجه به فرمت XML، اغلب میتوان تعریف عبارت را در یک عنصر
CDATA
همانطور که در اینجا نشان داده شده است، آسانتر کرد، زیرا این امر از نیاز به فرار XML با استفاده از عناصر موجودی مانند>
و&
. - ساختارهای
Condition
می توانند تو در تو باشند.