A função principal de um mostrador do relógio é mostrar a hora. O formato do mostrador do relógio
permite criar relógios analógicos e digitais usando os
elementos AnalogClock
e DigitalClock
.
Relógios digitais
Um relógio digital básico pode ser definido usando o elemento DigitalClock
e
TimeText
no mostrador do relógio Scene
:
<DigitalClock x="100" y="100" width="200" height="50">
<TimeText x="0" y="0" width="200" height="50" format="hh:mm">
<Font family="SYNC_TO_DEVICE" size="16" />
</TimeText>
</DigitalClock>
O atributo format
permite controlar como o tempo é representado usando
uma combinação de horas, minutos e segundos. As opções exatas variam de acordo
com a versão do formato de mostrador do relógio usado. A versão 2 expande as opções
aqui.
No exemplo anterior, Font está definido para usar a fonte do sistema.
Também pode ser útil mostrar a hora em outros locais do mundo, por
exemplo, um relógio mundial. Isso pode ser feito pelo elemento
Localization
:
<DigitalClock x="100" y="100" width="200" height="50">
<Localization timeZone="Europe/London" />
...
</DigitalClock>
Relógios analógicos
Para criar um relógio analógico, use o elemento AnalogClock
. Cada um dos
elementos filhos HourHand, MinuteHand
e SecondHand
especifica o recurso
que deve ser usado na renderização:
<AnalogClock x="0" y="0" width="200" height="200">
<HourHand resource="hour_hand" ... />
<MinuteHand resource="minute_hand" />
<SecondHand resource="second_hand" />
<!-- Optionally add a Tick or Sweep child element to define SecondHand behavior -->
</AnalogClock>
Especificar o ponto de pivot
Cada um dos recursos de hora, minuto e segundo é girado à medida que o tempo avança, mas é importante especificar o ponto correto em torno do qual cada um deles deve girar.
Em algumas situações, o ponto de pivote não fica na parte de baixo da mão, e
é centralizado horizontalmente. Isso precisa ser especificado como <HourHand …
pivotY="(pivot_ratio)" />
, em que:
Colorir os ponteiros do relógio
Para permitir que o usuário personalize a aparência do mostrador do relógio, é comum ter uma cor configurável para os ponteiros.
Uma maneira de fazer isso é usando tintColor
em cada uma das mãos para
tingir cada uma delas separadamente ou em AnalogClock
, para tingir todas as mãos da mesma
cor.
Além de permitir que os usuários apliquem cores específicas, você pode fornecer uma
opção de configuração para tintColor
para permitir que o usuário escolha:
<AnalogClock ... tintColor="[CONFIGURATION.handColors.0]" />
Sombra projetada
Para um efeito realista de ponteiro do relógio, usar uma sombra atrás de cada ponteiro pode dar a aparência de profundidade. Para fazer isso, use dois tipos de mão, compensando um atrás do outro, fornecendo um recurso separado para a sombra:
<!-- Offset the shadow by 5 units in both directions -->
<HourHand resource="hour_hand_shadow" ... x="105" y="105">
<!-- ... -->
<HourHand resource="hour_hand" ... x="100" y="100">
Decorações para o rosto
Os mostradores de relógio analógico geralmente têm decorações ao redor que mostram as horas ou minutos. Para fazer isso, há duas abordagens:
Inclua uma imagem de plano de fundo em tela cheia, que contém o mostrador do relógio pré-desenhado. Saiba como trabalhar com imagens.
<PartImage x="0" y="0" width="450" height="450" ...> <Image resource="watch_face_dial" /> </PartImage>
Desenhe decorações separadas e posicione-as ao redor do rosto usando rotações.
<Group ... > <!-- Content for the "12" marker --> </Group> <Group pivotX="..." pivotY="..." angle="30"> <!-- Content for the "1" marker --> </Group>