Eine Sammlung von arithmetischen Funktionen und Operationen, die andere Elemente des Watch Face-Formats verwenden, um Echtzeit-Attributwerte und gyroskopische Effekte aufzulösen.
Mit Wear OS 4 eingeführt.
Beispiel
Ein Beispielausdruck zum Drehen eines Werts um bis zu 5 Grad in beide Richtungen, basierend auf dem Wert $ x $-Wert des Beschleunigungsmessers des Wear OS-Geräts:
(5/90)*clamp([ACCELEROMETER_ANGLE_X],0,90) + (-5/90)*clamp([ACCELEROMETER_ANGLE_X],-90,0)
Dies entspricht dem folgenden mathematischen Ausdruck, wobei $\theta_x $ den Winkel des Beschleunigungsmessers in $ x $-Richtung darstellt:
Funktionen
Das Watch Face-Format erkennt die folgenden Stringwerte als Funktionen:
Funktion | Beschreibung | Rückgabetyp | Verfügbarkeit |
---|---|---|---|
round() |
Wandelt den Eingabewert in einen Gleitkommawert um und führt dann die standardmäßige mathematische round() -Operation aus.
|
Ganzzahl | Version 1 |
floor() |
Führt die mathematische Standardoperation von floor() durch.
|
Frei schwebend | Version 1 |
ceil() |
Führt die mathematische Standardoperation von ceil() durch.
|
Frei schwebend | Version 1 |
fract() |
Gibt den Bruchteil des Eingabewerts zurück, d. h. den Teil des Gleitkommawerts, der rechts vom Dezimalzeichen steht. | Frei schwebend | Version 1 |
sin() |
Führt den trigonometrischen Standardvorgang sin() aus.
|
Frei schwebend | Version 1 |
cos() |
Führt den trigonometrischen Standardvorgang cos() aus.
|
Frei schwebend | Version 1 |
tan() |
Führt den trigonometrischen Standardvorgang tan() aus.
|
Frei schwebend | Version 1 |
asin() |
Führt den trigonometrischen Standardvorgang asin() aus. Der zurückgegebene Wert liegt immer im Bereich $ [-\frac{\pi}{2}, \frac{\pi}{2}] $.
|
Frei schwebend | Version 1 |
acos() |
Führt den trigonometrischen Standardvorgang acos() aus. Der zurückgegebene Wert liegt immer im Bereich $ [0.0, \pi] $.
|
Frei schwebend | Version 1 |
atan() |
Führt den trigonometrischen Standardvorgang atan() aus. Der zurückgegebene Wert liegt immer im Bereich $ [-\frac{\pi}{2}, \frac{\pi}{2}] $.
|
Frei schwebend | Version 1 |
abs() |
Wandelt den Eingabewert in einen Gleitkommawert um und führt dann die standardmäßige mathematische abs() -Operation aus.
|
Frei schwebend | Version 1 |
clamp(,,) |
Wandelt die Eingabewerte in Gleitkommawerte um und führt dann den Jetpack-Vorgang clamp() aus, um den ersten Wert in den Bereich einzufügen, der durch den zweiten und dritten Wert definiert wird.
|
Frei schwebend | Version 1 |
rand(,) |
Generiert einen zufälligen Gleitkommawert, der gleichzeitig die folgenden Bedingungen erfüllt:
|
Frei schwebend | Version 1 |
log() |
Führt die standardmäßige mathematische Operation zur Basis-$-e $ log() durch.
|
Frei schwebend | Version 1 |
log2() |
Simuliert einen Logarithmus zur Basis 2. Dieser Wert wird berechnet, indem der Wert zur Basis 10 log() des Eingabewerts durch den Logarithmus zur Basis 10 von 2 $ geteilt wird.
|
Frei schwebend | Version 1 |
log10() |
Führt die mathematische Standardoperation log() zur Basis 10 durch.
|
Frei schwebend | Version 1 |
sqrt() |
Führt die mathematische Standardoperation von sqrt() durch.
|
Frei schwebend | Version 1 |
cbrt() |
Führt die mathematische Standardoperation von cbrt() durch.
|
Frei schwebend | Version 1 |
exp() |
Führt die mathematische Standardoperation von exp() durch.
|
Frei schwebend | Version 1 |
expm1() |
Ruft die mathematische Operation expm1() direkt auf, wenn der Eingabewert 1 $ ist. Für jeden anderen Eingabewert wird die Funktion durch Ausführen der mathematischen Standardoperation exp() simuliert und dann 1 subtrahiert.
|
Frei schwebend | Version 1 |
deg() |
Führt die mathematische Standardoperation von toDegrees() durch.
$ \frac{\pi}{2} $ ist als 90 Grad definiert und $ \pi $ als 180 Grad.
|
Frei schwebend | Version 1 |
rad() |
Führt die mathematische Standardoperation von toRadians() durch. 90 Grad sind als $ \frac{\pi}{2} $ definiert und 180 Grad als $ \pi $.
|
Frei schwebend | Version 1 |
pow(,) |
Führt die mathematische Standardoperation von pow() durch. Der Ausgabewert ist immer eine Gleitkommazahl.
|
Frei schwebend | Version 1 |
numberFormat(,) |
Wendet das Zahlenformat vom ersten Wert auf den zweiten Wert an. Der erste Wert kann die folgenden Zeichen enthalten:
|
String | Version 1 |
icuText() |
Wandelt den Eingabestring für das Datumsformat in ein Muster um, das dem erwarteten Sprachformat entspricht. Wenn das übergeordnete Wenn das Gerät beispielsweise in den USA verwendet wird, führt der Eingabewert |
String | Version 1 |
icuText(,) |
Wandelt den Eingabedatumsformatstring des ersten Arguments in ein Muster um, das dem erwarteten Sprachformat entspricht. Das zweite Argument ist ein Zeitstempelstring in Millisekunden. Wenn das übergeordnete |
String | Version 2 |
icuBestText() |
Wandelt den Eingabedatumsformatstring in die aktuelle Zeit um, deren Muster dem erwarteten Format entspricht. Wenn das übergeordnete Wenn das Gerät beispielsweise am 14. März 2023 um 13:59 Uhr in den USA verwendet wird, liefert der Eingabewert |
String | Version 1 |
icuBestText(,) |
Wandelt das erste Argument des Eingabedatumsformatstrings in die aktuelle Zeit um, deren Muster mit dem erwarteten Format übereinstimmt. Das zweite Argument ist ein Zeitstempelstring in Millisekunden. Wenn das übergeordnete |
String | Version 2 |
subText(,,) |
Extrahiert einen Teilstring aus dem ersten Wert. Der zweite Wert gibt den 0-basierten Index in den ersten Wert an, bei dem der Teilstring beginnen soll. Der dritte Wert gibt den 0-basierten Index in den ersten Wert an, bei dem die Teilstring-Extraktion beendet werden soll („vom zweiten Wert bis zum dritten Wert, aber nicht einschließlich). Beispiele:
|
String | Version 1 |
textLength() |
Berechnet die Länge des Eingabestrings. Beispiele:
|
String | Version 1 |
Netzbetreiber
Das Watch Face-Format erkennt die folgenden Stringwerte als Operatoren:
+
- Unäres Plus oder Addition mehrerer Werte. Unterstützt sowohl Ganzzahlen als auch Gleitkommawerte.
-
- Unäres Minus oder Subtraktion mehrerer Werte Unterstützt sowohl Ganzzahlen als auch Gleitkommawerte.
*
- Multiplikation mehrerer ganzzahliger oder Gleitkommawerte
/
Teilung von 2 Ganz- oder Gleitkommawerten.
Wenn die Division von 2 Ganzzahlen zu einem Wert ohne Ganzzahl führt, wird der Dezimalwert im Gleitkommaergebnis beibehalten. Beispiel: $ \frac{1}{2} = 0, 5 $.
Darüber hinaus wird der Ausdruck $ \frac{x}{0} $ als
0
ausgewertet, wobei $ x $ eine beliebige Ganzzahl ist.%
Modulare Division aus 2 Ganz- oder Gleitkommawerten.
Wenn beide Operanden Ganzzahlen sind, ist das Ergebnis der Rest der Division der zwei Werte. Beispiel: $ 19 \bmod 7 = 5 $.
Wenn mindestens ein Operand eine Gleitkommazahl ist, ist das Ergebnis ein Gleitkommawert des Rests, z. B. $ 19.0 \bmod 7 = 5.0 $.
~
Bitweiser „not“-Operator. Einige Beispiele:
~1
kostet -2 $~0
: -1 $
!
Logischer „not“-Operator, der doppelte negative Werte unterstützt. Einige Beispiele:
- !2 $ ist
false
- $ !!0 $ ist
true
|
Bitweiser ODER-Operator. Unterstützt mehr als zwei Eingabewerte. Einige Beispiele:
- 1 € | 0 = 1 €
- 1 € | 2 | 4 = 7 €
||
- Logischer ODER-Operator
&
- Bitweiser AND-Operator. Unterstützt genau 2 Eingabewerte.
&&
- Logischer „und“-Operator.
(
- Klammer öffnen. Wird zum Ändern der Standardreihenfolge von Operationen verwendet, wobei Multiplikation und Division normalerweise Vorrang vor Addition und Subtraktion haben.
)
- Geschlossene Klammer. Wird zum Ändern der Standardreihenfolge von Operationen verwendet, wobei Multiplikation und Division normalerweise Vorrang vor Addition und Subtraktion haben.
<
- Der Vergleichsoperator „Kleiner als“. Beim Vergleich einer Ganzzahl mit ihrem Gleitkommawert ist das Ergebnis
false
. <=
- Der Vergleichsoperator „kleiner als oder gleich“. Beim Vergleich einer Ganzzahl mit ihrem Gleitkommawert ist das Ergebnis
true
. >
- Der Vergleichsoperator „größer als“. Beim Vergleich einer Ganzzahl mit ihrem Gleitkommawert ist das Ergebnis
false
. >=
- Der Vergleichsoperator „größer oder gleich“. Beim Vergleich einer Ganzzahl mit ihrem Gleitkommawert ist das Ergebnis
true
. ?
und:
Bietet Unterstützung für ternäre Vorgänge. Das allgemeine Format lautet wie folgt:
condition ? value_if_true : value_if_false
Unterstützt verschachtelte ternäre Operationen mit Klammern.
,
Trennt Werte in Funktionen, die mehr als ein Argument annehmen.
"
Wenn es am Anfang und am Ende eines Werts platziert wird, gibt es an, dass das Watch Face-Format den Wert als String interpretieren soll.
==
Gleichheitshalber vergleichen. Beim Vergleich einer Ganzzahl mit ihrem Gleitkommawert ist das Ergebnis
true
.!=
Gleichheit auf Ungleichheit hin vergleichen. Beim Vergleich einer Ganzzahl mit ihrem Gleitkommawert ist das Ergebnis
false
.
Empfehlungen für dich
- Hinweis: Der Linktext wird angezeigt, wenn JavaScript deaktiviert ist.
- Layouts und Bindungsausdrücke
- AGSL-Kurzübersicht
- Kotlin Bootcamp for Programmers 2: Grundlagen zu Kotlin