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. Com o Formato do mostrador do relógio, você pode escolher as fontes para receber os dados. Isso permite que o mostrador do relógio mostre informações além do horário, sem precisar de códigos para extrair 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 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 vai 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 do 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 complicação para dados vazios que podem ser enviados para qualquer slot de complicação. 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 Enviada 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.

A maioria das fontes de dados exige o Formato do mostrador do relógio

Para preservar a aparência das complicações do mostrador do relógio nas próximas versões do Wear OS, use o Formato do mostrador do relógio. Se o mostrador do relógio usar a biblioteca Jetpack Watch Face ou a Biblioteca de Suporte de Wearables, as versões mais recentes do Wear OS não vão mostrar dados da maioria das fontes em complicações do mostrador.

Para preservar totalmente a aparência das complicações em mostradores de relógio que não usam o Formato do mostrador do relógio, os mostradores precisam usar uma destas fontes de dados nos slots de complicação:

Dependendo do fabricante do dispositivo, algumas outras fontes de complicação podem ficar visíveis em mostradores de relógio que não usam o Formato do mostrador do relógio.