Uma coleção de funções e operações aritméticas que outros elementos do formato de mostrador do relógio usam para resolver valores de atributos em tempo real e efeitos giroscópicos.
Introduzido no Wear OS 4.
Exemplo
Um exemplo de expressão para fazer a rotação de até 5 graus em qualquer direção, com base no valor $ x $ do acelerômetro do dispositivo Wear OS:
(5/90)*clamp([ACCELEROMETER_ANGLE_X],0,90) + (-5/90)*clamp([ACCELEROMETER_ANGLE_X],-90,0)
…que é equivalente à seguinte expressão matemática, em que $ \theta_x $ representa o ângulo do acelerômetro na direção $ x $:
Funções
O formato do mostrador do relógio reconhece os seguintes valores de string como funções:
Função | Descrição | Tipo de retorno | Disponibilidade |
---|---|---|---|
round() |
Converte o valor de entrada em um valor de ponto flutuante e, em seguida, executa o padrão
round() operação matemática.
|
Número inteiro | Versão 1 |
floor() |
Executa a operação matemática floor() padrão.
|
Ponto flutuante | Versão 1 |
ceil() |
Executa a operação matemática ceil() padrão.
|
Ponto flutuante | Versão 1 |
fract() |
Retorna a parte fracionária do valor de entrada. ou seja, a parte valor de ponto flutuante que aparece à direita do ponto decimal. | Ponto flutuante | Versão 1 |
sin() |
Realiza a operação trigonométrica sin() padrão.
|
Ponto flutuante | Versão 1 |
cos() |
Realiza a operação trigonométrica cos() padrão.
|
Ponto flutuante | Versão 1 |
tan() |
Realiza a operação trigonométrica tan() padrão.
|
Ponto flutuante | Versão 1 |
asin() |
Realiza a operação trigonométrica asin() padrão. O
o valor está sempre no intervalo $ [-\frac{\pi}{2}, \frac{\pi}{2}] $.
|
Ponto flutuante | Versão 1 |
acos() |
Realiza a operação trigonométrica acos() padrão. O
o valor está sempre no intervalo $ [0.0, \pi] $.
|
Ponto flutuante | Versão 1 |
atan() |
Realiza a operação trigonométrica atan() padrão. O
o valor está sempre no intervalo $ [-\frac{\pi}{2}, \frac{\pi}{2}] $.
|
Ponto flutuante | Versão 1 |
abs() |
Converte o valor de entrada em um valor de ponto flutuante e, em seguida, executa o padrão
abs() operação matemática.
|
Ponto flutuante | Versão 1 |
clamp(,,) |
Converte os valores de entrada em valores de ponto flutuante e, em seguida, executa a
Operação clamp() do Jetpack para ajustar o primeiro valor no intervalo definido pelo
o segundo e o terceiro valores.
|
Ponto flutuante | Versão 1 |
rand(,) |
Gera um valor de ponto flutuante aleatório que atende às seguintes condições
ao mesmo tempo:
|
Ponto flutuante | Versão 1 |
log() |
Executa a operação matemática padrão de base $ e $ log() .
|
Ponto flutuante | Versão 1 |
log2() |
Simula um logaritmo de base 2. Esse valor é calculado dividindo a base 10
log() do valor de entrada) pelo logaritmo de base 10 de $ 2 $.
|
Ponto flutuante | Versão 1 |
log10() |
Realiza a operação matemática log() padrão de base 10.
|
Ponto flutuante | Versão 1 |
sqrt() |
Executa a operação matemática sqrt() padrão.
|
Ponto flutuante | Versão 1 |
cbrt() |
Executa a operação matemática cbrt() padrão.
|
Ponto flutuante | Versão 1 |
exp() |
Executa a operação matemática exp() padrão.
|
Ponto flutuante | Versão 1 |
expm1() |
Chama diretamente a operação matemática expm1() se o valor de entrada
for $ 1 $. Para qualquer outro valor de entrada, simula a função executando a
operação matemática exp() padrão e subtraindo 1.
|
Ponto flutuante | Versão 1 |
deg() |
Executa a operação matemática toDegrees() padrão.
$ \frac{\pi}{2} $ é definido como 90 graus, e $ \pi $ é definido como 180
graus.
|
Ponto flutuante | Versão 1 |
rad() |
Executa a operação matemática toRadians() padrão. 90 graus
é definido como $ \frac{\pi}{2} $ e 180 graus é definido como $ \pi $.
|
Ponto flutuante | Versão 1 |
pow(,) |
Executa a operação matemática pow() padrão. O valor de saída
é sempre um número de ponto flutuante.
|
Ponto flutuante | Versão 1 |
numberFormat(,) |
Aplica o formato numérico do primeiro valor ao segundo. O primeiro valor pode conter os seguintes caracteres:
|
String | Versão 1 |
icuText() |
Converte a string de formato da data de entrada em um padrão que corresponde ao formato da localidade esperado. Se o elemento pai Por exemplo, se o dispositivo estiver sendo usado nos Estados Unidos, um valor de entrada
de |
String | Versão 1 |
icuText(,) |
Converte o primeiro argumento input date format string em um padrão que corresponde ao formato de localidade esperado. O segundo argumento é uma string de carimbo de data/hora em milissegundos. Se o elemento pai |
String | Versão 2 |
icuBestText() |
Converte a string de formato da data de entrada na hora atual, cujo padrão corresponde ao formato esperado. Se o elemento pai Por exemplo, se o dispositivo estiver sendo usado nos Estados Unidos em 14 de março de 2023
às 13h59, um valor de entrada |
String | Versão 1 |
icuBestText(,) |
Converte o primeiro argumento input date format string na hora atual, cujo padrão corresponde ao formato esperado. O segundo argumento é uma string de carimbo de data/hora em milissegundos. Se o elemento pai |
String | Versão 2 |
subText(,,) |
Extrai uma substring do primeiro valor. O segundo valor indica o índice baseado em 0 para o primeiro valor em que a substring precisa começar. O terceiro valor indica o índice com base em 0 no primeiro valor em que a extração de substring precisa ser interrompida ("do segundo valor até o terceiro, mas sem incluí-lo"). Exemplos:
|
String | Versão 1 |
textLength() |
Calcula o comprimento da string de entrada. Exemplos:
|
String | Versão 1 |
Operadores
O formato do mostrador do relógio reconhece os seguintes valores de string como operadores:
+
- Unário mais, ou adição de vários valores. Oferece suporte a números inteiros e valores de ponto flutuante.
-
- Unário menos, ou subtração de vários valores. Oferece suporte a números inteiros e valores de ponto flutuante.
*
- Multiplicação de vários valores inteiros ou de ponto flutuante.
/
Divisão de dois valores inteiros ou de ponto flutuante.
Se a divisão de dois números inteiros resultar em um valor não inteiro, a parte decimal será preservada no resultado de ponto flutuante. Por exemplo, $ \frac{1}{2} = 0,5 $.
Além disso, a expressão $ \frac{x}{0} $ é avaliada como
0
, onde $ x $ é qualquer número inteiro.%
Divisão modular de dois valores inteiros ou de ponto flutuante.
Se ambos operandos forem números inteiros, o resultado será o restante da divisão dos dois valores. Por exemplo, $ 19 \bmod 7 = 5 $.
Se pelo menos um operando for um número de ponto flutuante, o resultado será um equivalente de ponto flutuante do restante. Por exemplo, $ 19,0 \bmod 7 = 5,0 $.
~
Operador "não" bit a bit. Vários exemplos:
~1
é $ -2 $~0
é $ -1 $
!
Operador lógico "não", que oferece suporte a duplos negativos. Vários exemplos:
- $ !2 $ é
false
- $ !!0 $ é
true
|
Operador "ou" bit a bit. Oferece suporte a mais de dois valores de entrada. Vários exemplos:
- $ 1 | 0 = 1 $
- $ 1 | 2 | 4 = 7 $
||
- Operador lógico "ou"
&
- Operador "e" bit a bit. Oferece suporte a exatamente dois valores de entrada.
&&
- Operador lógico "e"
(
- Parêntese de abertura. Usado para mudar a ordem padrão de operações, em que a multiplicação e a divisão geralmente têm prioridade sobre adição e subtração.
)
- Parêntese de fechamento. Usado para mudar a ordem padrão de operações, em que a multiplicação e a divisão geralmente têm prioridade sobre adição e subtração.
<
- O operador de comparação "menor que". Ao comparar um valor inteiro com o
ponto flutuante equivalente, o resultado é
false
. <=
- O operador de comparação "menor ou igual a". Ao comparar um valor inteiro
com o ponto flutuante equivalente, o resultado é
true
. >
- O operador de comparação "maior que". Ao comparar um valor inteiro com o
equivalente em ponto flutuante, o resultado é
false
. >=
- O operador de comparação "maior ou igual a". Ao comparar um valor inteiro
com o ponto flutuante equivalente, o resultado é
true
. ?
e:
Oferece suporte a operações ternárias. O formato geral é o seguinte:
condition ? value_if_true : value_if_false
Oferece suporte a operações ternárias aninhadas usando parênteses.
,
Separa valores em funções que recebem mais de um argumento.
"
Quando colocado no início e no final de um valor, indica que o formato do mostrador do relógio precisa interpretar o valor como uma string.
==
Comparar para confirmar se são iguais. Ao comparar um valor inteiro com o ponto flutuante equivalente, o resultado é
true
.!=
Comparar para desigualdade. Ao comparar um valor inteiro com o ponto flutuante equivalente, o resultado é
false
. .
Recomendados para você
- Observação: o texto do link aparece quando o JavaScript está desativado.
- Layouts e expressões de vinculação
- Referência rápida da AGSL
- Treinamento do Kotlin para programadores 2: noções básicas do Kotlin