Adicionar complicações a um mostrador do relógio

A complicação de tela do relógio mostra informações de uma fonte de dados. Usando o Formato do mostrador do relógio, você pode escolher as fontes de dados para receber os dados subjacentes. Isso permite que os mostradores mostrem informações além da hora sem precisar de código para conseguir os dados.

Usar o formato do mostrador do relógio

O elemento Complication permite definir até oito complicações em um único mostrador do relógio. O elemento também permite definir em que parte do mostrador do relógio cada complicação aparece.

Para mais informações, confira o exemplo WatchFaceFormat (link em inglês) no GitHub.

Tipos e campos

A tabela a seguir descreve os tipos e campos do objeto ComplicationData. Se um mostrador do relógio solicitar um campo inválido para um tipo de complicação, um valor padrão para esse campo será retornado. Por exemplo, se o mostrador do relógio tentar acessar o campo LONG_TEXT em um tipo SHORT_TEXT, o valor padrão para o campo LONG_TEXT, nulo, será retornado. Não há garantias de que os campos opcionais sejam mostrados.





Tipo Campos obrigatórios Campos opcionais Observações
SHORT_TEXT Texto curto Ícone
Ícone de proteção de pixels
Título curto
Descrição do conteúdo

Mostra apenas um ícone ou título curto caso um deles ou os dois sejam fornecidos.
MONOCHROMATIC_IMAGE Imagem monocromática
Ícone de proteção de pixels
Descrição do conteúdo

Usado quando nenhum texto é necessário. O ícone precisa ter uma só cor e pode ser colorido pelo mostrador do relógio.
RANGED_VALUE Valor
Valor mínimo
Valor máximo
Imagem monocromática
Ícone de proteção de pixels
Texto curto
Título curto
Gradiente de cores
Valor dinâmico
Descrição do conteúdo

Se quiser mostrar a própria barra de progresso, use o método isRangedValueProgressHidden() para ocultar a fornecida pela classe ComplicationDrawable.
GOAL_PROGRESS Valor
Valor desejado
Imagem monocromática
Ícone de proteção de pixels
Texto curto
Título curto
Gradiente de cores
Valor dinâmico
Descrição do conteúdo

GOAL_PROGRESS é destinado a itens como contagem de passos, em que o valor começa em zero e pode ultrapassar o valor desejado.
LONG_TEXT Texto longo
Título longo
Imagem monocromática
Ícone de proteção de pixels
Imagem pequena
Descrição do conteúdo
Mostra o título longo caso ele seja fornecido.
SMALL_IMAGE Imagem pequena
Descrição do conteúdo
Uma imagem pequena tem um destes estilos: de foto ou de ícone. O estilo de foto indica que a imagem preenche um determinado espaço e pode ser cortada. O estilo do ícone indica que ela não pode ser cortada e pode ser preenchida. A variabilidade de imagens pode resultar em uma imagem inadequada para exibição no modo ambiente em dispositivos com proteção de pixels ou com poucos bits. Quando a proteção de pixels ou o modo ambiente de poucos bits estiver ativado, o mostrador do relógio pode usar a imagem pequena com proteção de pixels, porque é seguro fazer isso. Caso contrário, como o mostrador do relógio tem dificuldade para determinar a adequação, nenhuma imagem vai ser mostrada.
LARGE_IMAGE Imagem grande
Descrição do conteúdo
Essa imagem deve ser grande o bastante para preencher o mostrador do relógio. A variabilidade de imagens pode resultar em uma imagem inadequada para exibição no modo ambiente em dispositivos com proteção de pixels ou com poucos bits. Como o mostrador do relógio tem dificuldade para determinar a adequação ao display, ele não vai mostrar uma imagem no modo ambiente se a proteção de pixels ou o ambiente com poucos bits estiverem ativados.
WEIGHTED_ELEMENTS Lista de elementos
Imagem monocromática
Ícone de proteção de pixels
Texto curto
Título curto
Descrição do conteúdo
Cada elemento consiste em uma cor e um peso (maior que zero). O tamanho do elemento, quando renderizado, precisa ser proporcional ao peso dele. A soma dos pesos não precisa ser nenhum valor específico. Os mostradores de relógio podem aplicar novas cores a WEIGHTED_ELEMENTS.

A tabela abaixo descreve os tipos de complemento para dados vazios que podem ser enviados para qualquer slot de complemento. Eles não têm campos e não precisam ser incluídos em uma lista de tipos com suporte. Eles permitem que as telas de relógio façam a distinção entre estes três casos:

  • Nenhuma fonte foi escolhida.
  • O usuário selecionou "empty" para um slot.
  • A fonte não tem dados para enviar.

As fontes não podem enviar TYPE_EMPTY em resposta a pedidos de atualização. Em vez disso, envie TYPE_NO_DATA.

Tipo de complicação Descrição
TYPE_NOT_CONFIGURED Enviado pelo sistema quando uma complicação é ativada, mas o usuário não selecionou uma fonte e nenhum padrão foi definido.

Não pode ser enviado por fontes.

TYPE_EMPTY Enviado pelo sistema quando uma complicação é ativada e o usuário escolhe "empty" em vez de uma fonte ou quando o mostrador do relógio não escolhe uma fonte e esse tipo é o padrão.

Não pode ser enviado por fontes.

TYPE_NO_DATA Enviado pelo sistema quando uma complicação que tem uma fonte é ativada para limpar a complicação antes que dados reais sejam recebidos da fonte.

Precisa ser enviado por fontes quando elas não têm dados reais para enviar.

Em alguns dispositivos, os mostradores e as complicações precisam usar o formato de mostrador do relógio

Se o mostrador do relógio atual usar a biblioteca Jetpack Watch Face ou a biblioteca de suporte de wearables, os usuários vão continuar vendo dados de todas as fontes de dados nas complicações do mostrador do relógio nos seguintes dispositivos:

  • Dispositivos com o Wear OS 4 ou versões anteriores.
  • Dispositivos que recebem um upgrade OTA para o Wear OS 5.

Além disso, se o mostrador do relógio atual usar a biblioteca do Jetpack ou a Biblioteca de suporte de wearables e estiver instalado em um desses dispositivos, o mostrador do relógio poderá continuar recebendo atualizações.

No entanto, nos novos relógios lançados com o Wear OS 5, os mostradores precisam usar o Formato do mostrador do relógio. Por isso, recomendamos que você migre para o uso do formato de mostrador do relógio.