WFF, aşağıdakileri etkinleştirmek için bir ifade dili kullanır:
Transform
veyaGyro
kullanarak görünümü dönüştürmeCondition
ifadeleri aracılığıyla koşullu davranışTemplate
öğelerinde dize biçimlendirme
İfade dili, tipik operatörlerinizi ve kullanılabilecek bir dizi işlevi içeren bir komut dosyası dilidir.
İfadeler, mevcut tarih ve saat, sağlık ve fitness metrikleri ya da hava durumu gibi harici girişlere tepki vermenize olanak tanımak için köşeli parantezlerle gösterilen veri kaynaklarını kullanabilir.
İfadeler kullanılırken Transform
veya Template
ile Condition
kullanımı arasındaki temel fark, Transform
ve Template
'te ifadenin bir değer (ör. kapsayıcı öğenin yeni konumu) döndürmesi gerekirken Condition
'de ifadenin bir boole döndürmesi gerekmesidir.
Örneğin, bir Condition
aşağıdakileri kullanabilir:
[DAY_OF_WEEK] == 6 || [DAY_OF_WEEK] == 7
Bu işlev bir boole değeri olarak değerlendirilir ve DAY_OF_WEEK
veri kaynağını kullanarak hafta sonu olup olmadığını belirler.
Wear OS cihazın ivmeölçerinin x-value
değerine göre bir değeri her iki yönde de 5 dereceye kadar döndürme ifadesi gibi işlevler de desteklenir:
(5/90)*clamp([ACCELEROMETER_ANGLE_X],0,90) +
(-5/90)*clamp([ACCELEROMETER_ANGLE_X],-90,0)
clamp()
işlevi, bir değeri iki sınır dahilinde kısıtlar.
İfadenin yeniden değerlendirilmesi
İfadelerin yeniden değerlendirilme sıklığı, ifadede kullanılan veri kaynaklarına bağlıdır. Örneğin, [DAY_OF_WEEK] == 6 || [DAY_OF_WEEK] ==
7
ifadesi yalnızca yeni bir gün başladığında yeniden değerlendirilir. Ancak [SECOND]
veri kaynağını kullanan bir ifade her saniye yeniden değerlendirilir.
Yeniden değerlendirme, ifadenin sonucundaki değişikliğe bağlı olarak sahnenin yeniden hesaplanması ve yeniden oluşturulmasına neden olabilir. Bu nedenle, her zaman mümkün olduğunca seyrek yeniden değerlendirme yapan veri kaynaklarını kullanmak önemlidir. Örneğin, öğleden sonra olup olmadığını belirlemek için:
// Bad - re-evaluates every second
[SECONDS_IN_DAY] > 43200
// Good - limits re-evaluation frequency (1 = PM, 0 = AM)
[AMPM_STATE] == 1
İfadelerdeki yapılandırma değerleri
İşlevlere ve veri kaynaklarına ek olarak yapılandırma değerleri de kullanılabilir. Örneğin, UserConfigurations içinde showBackgroundInAfternoon
adlı bir BooleanConfiguration
tanımlandıysa bu ifadede kullanılabilir:
[CONFIGURATION.showBackgroundInAfternoon] == "TRUE" && [AMPM_STATE] == 1