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 subjacentes. Isso permite que os mostradores de relógio exibam informações além da hora do dia sem precisar de código para coletar 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 vai aparecer.

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 um mostrador do relógio tentar acessar um campo LONG_TEXT em um tipo SHORT_TEXT, o valor padrão para o campo LONG_TEXT, nulo, será retornado. Não há garantia de que os campos opcionais serão 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
  • Uma 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 Enviada 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 usa a biblioteca Jetpack Watch Face ou a Biblioteca de Suporte para Wearables, as versões mais recentes do Wear OS não vão mostrar dados da maioria das fontes de dados em complicações do mostrador do relógio.

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 das seguintes fontes de dados nos slots de complicação:

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