WFF ใช้ภาษาของนิพจน์เพื่อเปิดใช้สิ่งต่อไปนี้
- การเปลี่ยนรูปลักษณ์โดยใช้
TransformหรือGyro - พฤติกรรมแบบมีเงื่อนไขผ่านคำสั่ง
Condition - การจัดรูปแบบสตริงในองค์ประกอบ
Template
ภาษาของนิพจน์เป็นภาษาสคริปต์ที่มีตัวดำเนินการทั่วไปและฟังก์ชันต่างๆ ที่ใช้ได้
นิพจน์สามารถใช้แหล่งข้อมูลที่แสดงโดยใช้วงเล็บเหลี่ยม เพื่อให้คุณตอบสนองต่ออินพุตภายนอก เช่น วันที่และเวลาปัจจุบัน เมตริกด้านสุขภาพและการออกกำลังกาย หรือแม้แต่สภาพอากาศ
เมื่อใช้นิพจน์ ความแตกต่างหลักระหว่างการใช้งาน Transform, Template
และ Condition คือ Transform และ Template ต้องมีนิพจน์
เพื่อให้ได้ค่า (เช่น ตำแหน่งใหม่ขององค์ประกอบที่ล้อมรอบ)
ขณะที่ Condition ต้องมีนิพจน์เพื่อให้ได้บูลีน
เมื่อใช้ในองค์ประกอบ Condition ให้ระบุนิพจน์เป็นองค์ประกอบข้อความ ครอบนิพจน์ด้วยองค์ประกอบ CDATA เพื่อหลีกเลี่ยงการใช้การอ้างอิงเอนทิตี เช่น " และ &
<![CDATA[[DAY_OF_WEEK] == 6 || [DAY_OF_WEEK] == 7]]>
ซึ่งจะประเมินเป็นบูลีนและพิจารณาว่าเป็นวันหยุดสุดสัปดาห์หรือไม่
โดยใช้แหล่งข้อมูล DAY_OF_WEEK
นอกจากนี้ยังรองรับฟังก์ชันด้วย เช่น นิพจน์สำหรับการหมุน
ค่าได้สูงสุด 5 องศาในทิศทางใดทิศทางหนึ่ง โดยอิงตามx-valueของอุปกรณ์ Wear OS
ที่มีเครื่องวัดความเร่ง
(5.0/90.0)*clamp([ACCELEROMETER_ANGLE_X],0,90) + (-5.0/90.0)*clamp([ACCELEROMETER_ANGLE_X],-90,0)
ฟังก์ชัน clamp() จะจำกัดค่าให้อยู่ภายในขอบเขต 2 ขอบเขต
การประเมินนิพจน์อีกครั้ง
ความถี่ในการประเมินนิพจน์อีกครั้งจะขึ้นอยู่กับแหล่งข้อมูลที่ใช้ในนิพจน์ เช่น นิพจน์
[DAY_OF_WEEK] == 6 || [DAY_OF_WEEK] == 7
จะได้รับการประเมินอีกครั้งเมื่อเริ่มต้นวันใหม่เท่านั้น อย่างไรก็ตาม นิพจน์
ที่ใช้แหล่งข้อมูล [SECOND] จะประเมินซ้ำทุกวินาที
การประเมินอีกครั้งอาจส่งผลให้มีการคำนวณฉากใหม่และแสดงผลอีกครั้ง โดยขึ้นอยู่กับการเปลี่ยนแปลงในผลลัพธ์ของนิพจน์ ดังนั้น คุณจึงควรใช้แหล่งข้อมูลที่ประเมินใหม่ให้น้อยที่สุดเสมอ เช่น หากต้องการ ตรวจสอบว่าเป็นช่วงบ่ายหรือไม่ ให้ทำดังนี้
<!-- BAD: Re-evaluates every second --> [SECONDS_IN_DAY] > 43200
<!-- Good: Minimizes re-evaluation (1 = PM, 0 = AM) --> [AMPM_STATE] == 1
ค่าการกำหนดค่าในนิพจน์
นอกจากฟังก์ชันและแหล่งข้อมูลแล้ว ยังสามารถใช้ค่าการกำหนดค่าได้ด้วย ตัวอย่างเช่น หากใน UserConfigurations มีการกำหนด BooleanConfiguration ที่ชื่อ
showBackgroundInAfternoon คุณจะใช้ค่านี้ในนิพจน์ได้
<![CDATA[[CONFIGURATION.showBackgroundInAfternoon] == "TRUE" && [AMPM_STATE] == 1]]>