Crie seu primeiro velocímetro
Faça um medidor mostrando velocidade e unidades. Aprenda como main(), Text e VStack são usados no script completo, visualize a aparência e salve no painel.
{ value: 42.3, unit: "km/h" }1. Criar e selecionar a velocidade
Abra Mais(…)→ Instrumentos personalizados no painel e selecione Adicionar novo instrumento. O novo medidor já vem com entrada de velocidade base.
- Clique no nome na parte superior do editor, vá para Ajustes do instrumento e nomeie-o como "My Speed".
- Clique na engrenagem ao lado de Vínculos de entrada para abrir Configuração de parâmetros. Verifique a entrada de velocidade: o identificador é
speed, o tipo é Dados básicos, a fonte é Velocidade. Se estiver faltando, use Adicionar parâmetro para criar um novo. - Clique em OK para retornar e salvar as configurações e depois retornar à área de edição.
O script lê a velocidade via $data.current.speed; aqui os nomes dos campos vêm do identificador de entrada. O editor fornece dicas de tipo conforme definido. Este exemplo não requer a ligação OBD.
2. Colar o código completo
Substitua todo o conteúdo original da área de edição pelo código completo abaixo. Não embrulhe em outro main(). Este exemplo possui apenas uma função de entrada.
Vamos manter o código igual por enquanto. Ele irá ler a velocidade atual toda vez que precisar ser desenhada, organizar os valores e unidades para cima e para baixo; quando houver uma leitura faltante, será exibida uma linha horizontal. A próxima seção explica isso em ordem de execução.
function main() {
const speed = $data.current.speed;
return (
<VStack spacing={8}>
<Text fontSize={64} color={$env.foreground}>
{speed?.value == null ? '—' : Math.round(speed.value)}
</Text>
<Text fontSize={16} color={$env.accent}>
{speed?.unit ?? $env.speedUnit}
</Text>
</VStack>
);
}
Do código ao instrumento
Observe primeiro os dados e depois a imagem. Suponha que desta vez speed seja { value: 42.3, unit: "km/h" }:
const speed = $data.current.speedFaça esta leitura. Aquispeedé um objeto que contém valores numéricos e unidades, não o número em si.speed?.value == nullverifica medições ausentes. Quando o objeto não existe ou o valor está vazio,'—'é selecionado; quando o valor for0, esta ramificação não será utilizada.Math.round(speed.value)arredonda42.3para42e o entrega ao primeiroTextpara exibição. O arredondamento afeta apenas a exibição deste medidor e não modifica a leitura original.- O segundo
Textexibespeed.unit. Quando não há unidades no momento,?? $env.speedUnitusa a unidade de velocidade do ambiente de exibição atual. VStackorganiza dois textos um acima do outro espacing={8}controla o espaçamento entre eles.
$env.foreground e $env.accent fornecem o texto e as cores de destaque para o tema atual. Essas cores serão atualizadas quando o tema mudar.
Não use speed?.value || '—' para julgar testes faltantes: JavaScript tratará zeros válidos como valores falsos, fazendo com que a linha horizontal seja exibida incorretamente ao estacionar.
3. Conferir a aparência na prévia
Clique em Prévia na parte inferior do editor. Você deverá ver um número de velocidade maior na parte superior e unidades menores na linha inferior. Os números da visualização são valores simulados, que dispensam a partida do veículo e não são necessariamente iguais à velocidade medida pelo celular neste momento.
Em seguida, faça três pequenas modificações e visualize cada vez:
| Rever | Mudanças que você deve ver |
|---|---|
fontSize={64} alterado para 48 |
O número principal fica menor. |
spacing={8} alterado para 16 |
Números e unidades estão mais distantes. |
Cor do número principal alterada para $env.accent |
Use cores de destaque para os números principais. |
Confira os diferentes tamanhos e temas claros e escuros. Quando o conteúdo é cortado em um determinado tamanho, primeiro reduza o tamanho da fonte ou o espaçamento e depois observe. Não use um grande número de deslocamentos x/y para encobrir problemas de layout.
Se ocorrer um erro, restaure-o ao estado original e verifique de acordo com o número da linha no log. Ao visualizar, o canto superior direito é Logs; após fechar a visualização e retornar ao estado de edição, o canto superior direito retorna para Salvar. Uma visualização bem-sucedida significa apenas que este conjunto de entradas de simulação pode ser exibido e os dados reais precisam ser verificados na próxima etapa.
4. Salvar e adicionar ao painel
Feche a visualização, clique em Salvar, saia do editor e encontre "My Speed" na biblioteca de instrumentos. Abra Mais(…)→ Editar painel novamente, clique em + para adicioná-lo e, por fim, clique em OK.
Neste ponto, o cartão muda para ler a velocidade real. Você pode colocá-lo e o medidor de velocidade integrado na mesma página para verificação: quando eles usam o mesmo campo de velocidade básica, os valores devem corresponder; devido a diferentes métodos de retenção decimal, a exibição pode ser ligeiramente diferente.
| Exibição real | Próxima etapa |
|---|---|
0 e unidade de velocidade |
A velocidade zero foi alcançada e não há necessidade de corrigir a lógica de teste ausente. |
— |
Volte às configurações para confirmar se a velocidade está selecionada e, em seguida, verifique as permissões de posicionamento e os sinais atuais. |
| Existem medidores na biblioteca, mas não na página. | A etapa "Editar painel → Adicionar" ainda não foi concluída. |
| Apenas a visualização tem números | A visualização é de entrada simulada; prossiga para verificar a fonte de dados real. |
Neste ponto, o primeiro instrumento está completo. No próximo artigo, substitua "obter velocidade" por "obter seu próprio parâmetro OBD" e o layout e o código de exibição poderão continuar a ser usados.