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>