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:
round()
- Converte o valor de entrada em um valor de ponto flutuante e, em seguida, executa a
operação matemática
round()
padrão. floor()
- Executa a operação matemática
floor()
padrão. ceil()
- Executa a operação matemática
ceil()
padrão. fract()
- Retorna a parte fracionária do valor de entrada, ou seja, a parte do valor de ponto flutuante que aparece à direita do ponto decimal.
sin()
- Executa a operação trigonométrica
sin()
padrão. cos()
- Executa a operação trigonométrica
cos()
padrão. tan()
- Executa a operação trigonométrica
tan()
padrão. asin()
- Executa a operação trigonométrica
asin()
padrão. O valor retornado está sempre no intervalo $ [-\frac{\pi}{2}, \frac{\pi}{2}] $. acos()
- Executa a operação trigonométrica
acos()
padrão. O valor retornado está sempre no intervalo $ [0.0, \pi] $. atan()
- Executa a operação trigonométrica
atan()
padrão. O valor retornado está sempre no intervalo $ [-\frac{\pi}{2}, \frac{\pi}{2}] $. abs()
- Converte o valor de entrada em um valor de ponto flutuante e, em seguida, executa a
operação matemática
abs()
padrão. clamp(,,)
- Converte os valores de entrada em valores de ponto flutuante e executa a operação
clamp()
do Jetpack para ajustar o primeiro valor ao intervalo definido pelo segundo e terceiro. rand(,)
Gera um valor de ponto flutuante aleatório que atende às seguintes condições ao mesmo tempo:
- Maior ou igual ao primeiro valor.
- Menor ou igual ao segundo valor.
Pressupõe que o primeiro valor é menor ou igual ao segundo.
log()
Executa a operação matemática padrão de base $ e $
log()
.log2()
Simula um logaritmo de base 2. Esse valor é calculado dividindo o logaritmo de base 10 (
log10
do valor de entrada) pelo logaritmo de base 10 de $ 2 $.log10()
Realiza a operação matemática
log10
padrão de base 10.sqrt()
Executa a operação matemática
sqrt()
padrão.cbrt()
Executa a operação matemática
cbrt()
padrão.exp()
Executa a operação matemática
exp()
padrão.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áticaexp()
padrão e subtraindo 1.deg()
Executa a operação matemática
toDegrees()
padrão. $ \frac{\pi}{2} $ é definido como 90 graus, e $ \pi $ é definido como 180 graus.rad()
Executa a operação matemática
toRadians()
padrão. 90 graus é definido como $ \frac{\pi}{2} $ e 180 graus é definido como $ \pi $.pow(,)
Executa a operação matemática
pow()
padrão. O valor de saída é sempre um número de ponto flutuante.numberFormat(,)
Aplica o formato numérico do primeiro valor ao segundo.
O primeiro valor pode conter os seguintes caracteres:
#
: representa um dígito numérico.,
: representa uma vírgula como separador em números grandes..
: representa um ponto decimal.
icuText()
Converte a string de formato da data de entrada em um padrão que corresponde ao formato de localidade esperado. Se o elemento pai
PartText
incluir um elementoLocalization
, o formato dessa localidade será usado. Caso contrário, a localidade atual do dispositivo Wear OS será usada.Por exemplo, se o dispositivo estiver sendo usado nos Estados Unidos, um valor de entrada de
EE, MMM d, yyyy h:mm a
vai produzir a seguinte saída:Tue, Mar 14, 2023 1:59 PM
icuBestText()
Converte a string de formato da data de entrada na hora atual, cujo padrão corresponde ao formato esperado. Se o elemento pai
PartText
incluir um elementoLocalization
, o formato dessa localidade será usado. Caso contrário, a localidade atual do dispositivo Wear OS será usada.Por exemplo, se o dispositivo estiver sendo usado nos Estados Unidos em 14 de março de 2023, às 13h59, um valor de entrada de
yyyy MMM d EE a h:mm
vai gerar a seguinte saída:Tue, Mar 14, 2023, 1:59 PM
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:
subText("abc def", 2, 5)
éc d
subText("abc def", 2, 7)
éc def
textLength()
Calcula o comprimento da string de entrada.
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.
- SourceType
- ListConfiguration
- PartText