Wear Tiles

Crie aplicativos para smartwatches Wear OS by Google.
Atualização mais recente Versão estável Candidata a lançamento Versão Beta Versão Alfa
27 de julho de 2022 1.0.1 - 1.1.0-beta01 -

Declarar dependências

Para adicionar uma dependência ao Wear, adicione o repositório Maven do Google ao seu projeto. Leia Repositório Maven do Google para ver mais informações.

Adicione as dependências dos artefatos necessários no arquivo build.gradle para seu app ou módulo:

Groovy

dependencies {
    // Use to implement support for wear tiles
    implementation "androidx.wear.tiles:tiles:1.1.0-beta01"

    // Use to utilize components and layouts with Material design in your tiles
    implementation "androidx.wear.tiles:tiles-material:1.1.0-beta01"

    // Use to preview wear tiles in your own app
    debugImplementation "androidx.wear.tiles:tiles-renderer:1.1.0-beta01"

    // Use to fetch tiles from a tile provider in your tests
    testImplementation "androidx.wear.tiles:tiles-testing:1.1.0-beta01"
}

Kotlin

dependencies {
    // Use to implement support for wear tiles
    implementation("androidx.wear.tiles:tiles:1.1.0-beta01")

    // Use to utilize components and layouts with Material design in your tiles
    implementation("androidx.wear.tiles:tiles-material:1.1.0-beta01")

    // Use to preview wear tiles in your own app
    debugImplementation("androidx.wear.tiles:tiles-renderer:1.1.0-beta01")

    // Use to fetch tiles from a tile provider in your tests
    testImplementation("androidx.wear.tiles:tiles-testing:1.1.0-beta01")
}

Para ver mais informações sobre dependências, consulte Adicionar dependências de build.

Feedback

Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.

Criar novo problema

Consulte a documentação do Issue Tracker para saber mais.

Versão 1.1

Versão 1.1.0-beta01

27 de julho de 2022

Lançamento de androidx.wear.tiles:tiles-*:1.1.0-beta01. A versão 1.1.0-beta01 contém estas confirmações.

A versão 1.0.0-beta01 da biblioteca Tiles Material contém componentes e layouts que estão alinhados às diretrizes do Material Design e são fáceis de criar.

Veja os componentes incluídos:

  • Button: objeto clicável em formato circular com ícone, texto ou imagem e três tamanhos predefinidos.
  • Chip: objeto clicável em forma de estádio que pode conter um ícone, etiquetas primárias e secundárias e tem altura fixa e largura personalizável.
  • CompactChip e TitleChip: duas variações do ícone padrão que têm alturas menores e maiores, respectivamente, e podem conter uma linha de texto.
  • CircularProgressIndicator: arco colorido ao redor da borda da tela, com os ângulos de início e fim determinados e podendo descrever um círculo completo ou parcial com o arco de progresso completo atrás dele.
  • Text: texto estilizado que usa os estilos de tipografia recomendados do Wear Material.

Todos esses componentes têm o próprio objeto de cores que pode ser criado com a classe principal Colors para aplicar facilmente o mesmo tema a todos os componentes. Além das cores, há uma classe Typography para conseguir facilmente objetos FontStyle usando o nome da tipografia.

Além dos componentes, existem layouts de blocos recomendados:

  • PrimaryLayout: um layout que pode ser personalizado adicionando rótulos principais ou secundários, conteúdo no meio e um ícone principal na parte de baixo. O conteúdo principal nesse layout pode ser adicionado como um objeto MultiSlotLayout ou MultiButtonLayout.
  • EdgeContentLayout: um layout para hospedar CircularProgressIndicator ao redor da borda com conteúdo principal dentro e rótulo principal ou secundário ao redor dele.
  • MultiButtonLayout: um layout que pode conter de um a sete botões, organizados de acordo com as diretrizes do Material Design, dependendo do número deles.
  • MultiSlotLayout: um layout de estilo semelhante a uma linha com slots alinhados e espaçados horizontalmente (para ícones ou outro conteúdo pequeno).

Todos os layouts têm recomendação e aplicação de padding e estilos de acordo com as diretrizes do Material Design.

Mudanças na API

  • Os componentes do ícone passaram por uma refatoração importante, incluindo a separação de setters no builder para que cada parte do conteúdo seja transmitida separadamente com renomeação para corresponder às diretrizes (rótulo principal, rótulo secundário, ID do recurso de imagem). Além disso, a descrição do conteúdo vai ser gerada automaticamente se não for definida (I57622).
  • ProgressIndicatorLayout foi renomeado como EdgeContentLayout (Ic1aa6).
  • O conteúdo do tamanho do botão foi renomeado para o sufixo without _BUTTON nos nomes, com esclarecimentos extras de Javadocs em Button (I1dfe2).

Correções de bugs

  • As margens, o padding e a disposição geral no Material Design foram atualizados para acomodar todos os tipos recomendados de layouts, tamanhos e formas de tela.
  • Os layouts do Material Design foram melhorados. Em MultiSlotLayout, em vez de terem o tamanho fixo, os slots agora têm a largura flexível na parte em que envolvem o conteúdo (I52919, If18b4).
  • A área que pode ser tocada em CompactChip foi aumentada para seguir as diretrizes de acessibilidade (Ie8264).

Versão 1.1.0-alpha09

29 de junho de 2022

androidx.wear.tiles:tiles-*:1.1.0-alpha09 é lançado. A versão 1.1.0-alpha09 contém estas confirmações.

Novos recursos

  • Agora é possível adicionar rótulos opcionais ao ProgressIndicatorLayout (I30788).

Mudanças na API

  • Os métodos auxiliares para ElementMetadata agora aceitam ElementMetadata em vez de modificadores (I5a70f).

Correções de bugs

  • O limite de nove caracteres no CompactChip foi removido. Se o texto for grande demais para caber na tela no PrimaryLayout, ele vai ser diminuído (Id56ec).
  • Getters no Chip agora têm o sufixo Content (Iba437).
  • Adicionamos esclarecimentos sobre Javadoc para as classes do Material Design (I56e41), (I80f31), (Iba437).

Versão 1.1.0-alpha08

1º de junho de 2022

Lançamento de androidx.wear.tiles:tiles-*:1.1.0-alpha08. A versão 1.1.0-alpha08 contém estas confirmações.

Novos recursos

  • Uma tag de metadados foi adicionada a modificadores para ser usada no rastreamento de metadados de componentes com métodos auxiliares adicionados à classe Helper (I70db2, I30c3d).
  • O método estático fromLayoutElement foi adicionado a todos os componentes e layouts dentro do Tiles Material. Ele será usado para testes, para transmitir um LayoutElement adquirido ao acessar o conteúdo de um contêiner para o tipo original dele (Ia572a, Idbd8a, I3ae13, I292fe, I8b20f, I3cacb, I84b24).

Versão 1.1.0-alpha07

18 de maio de 2022

Lançamento de androidx.wear.tiles:tiles-*:1.1.0-alpha07. A versão 1.1.0-alpha07 contém estas confirmações.

Mudanças na API

  • Getters relacionados a setters diferentes para o conteúdo foram adicionados às classes ProgressIndicatorLayout e PrimaryLayout. Agora, todos os setters nessas classes têm getters correspondentes (Iddbe5) (Iabe4e).
  • O getter para a descrição do conteúdo em componentes do Material Design pode retornar nulo, já que o setter dele não é obrigatório.
  • A tentativa de criar um botão sem conteúdo transmitido vai resultar em uma IllegalArgumentException (I7fc0c).
  • Os campos relacionados à cor do ícone em ChipColors foram renomeados de iconTintColor para iconColor (Ic053b).

Correções de bugs

  • Adição de androidTests para layouts no Tiles Material (I96404).

Versão 1.1.0-alpha06

11 de maio de 2022

Lançamento de androidx.wear.tiles:tiles-*:1.1.0-alpha06. A versão 1.1.0-alpha06 contém estas confirmações.

Novos recursos

  • O novo layout foi adicionado à sub-biblioteca do Material Layouts, a MultiButtonLayout. Ela representa um layout que pode conter entre um e sete botões organizados de acordo com as diretrizes do Material Design. Na maioria dos casos, esse layout precisa ser transmitido como um conteúdo para a classe PrimaryLayout (Ib727f).

Mudanças na API

  • O MultiSlotLayout foi refatorado para ter apenas slots. Esse layout precisa ser transmitido como um conteúdo para o PrimaryLayout principal (I1870f).
  • As cores padrão definidas para a classe CircularProgressIndicator foram atualizadas para serem apenas um valor em vez de primárias e secundárias (I64a51).
  • Adição de um getter para o espaçador horizontal no MultiSlotLayout (I11e1e).

Correções de bugs

  • Testes do Android para componentes foram adicionados à Tiles Material (I20041).

Versão 1.1.0-alpha05

6 de abril de 2022

Lançamento de androidx.wear.tiles:tiles-*:1.1.0-alpha05. A versão 1.1.0-alpha05 contém estas confirmações.

Novos recursos

  • Foram adicionados métodos auxiliares para converter LayoutElement em classes Layout, Timeline e TimelineEntry para facilitar a criação de Blocos (I2f6d1).
  • O objeto Colors foi adicionado à biblioteca do Material Design para ser transmitido entre as cores dos componentes como um tema (I0792c).

Mudanças na API

  • O componente Material Text requer texto transmitido ao construtor. Agora este componente pode ser personalizado com a definição de peso (I25dbd).
  • Constantes de ChipDefaults que não são usadas nos setters públicos foram removidas (I7baed).
  • Getters de CompactChip e TitleChip que não têm setters correspondentes foram removidos (I99e85).
  • DEFAULT_PADDING foi removido de ProgressIndicatorDefaults (Idabcd).
  • Componentes do Material agora aceitam CharSequence para a descrição de conteúdo em vez de String (I5b21a).

Correções de bugs

  • Refatoração da implementação de setters para parâmetros opcionais em um botão (Ib7135).
  • A variante de estilo de fonte foi adicionada às fontes em Typography (I8dbc6).

Versão 1.1.0-alpha04

23 de março de 2022

Lançamento de androidx.wear.tiles:tiles-*:1.1.0-alpha04. A versão 1.1.0-alpha04 contém estas confirmações.

Novos recursos

  • É possível adicionar um rótulo primário ou secundário opcional ao PrimaryLayout (Ib9916).
  • É possível personalizar o componente de texto definindo as opções do menu flutuante, como itálico, sublinhado etc. (I703f7).

Mudanças na API

  • As constantes de cores padrão foram removidas da API Tiles Material (I0ab55).
  • Todos os componentes clicáveis do Tiles Material exigem um objeto Clickable no construtor do builder, em vez de uma ação (I2f101).

Correções de bugs

  • O texto agora vai exibir reticências no menu flutuante dos componentes Chip e Text (I8a2f8).
  • Há melhoria na aparência dos componentes quando a escala da fonte do usuário é definida como "grande" (Ib63b1).
  • Esclarecimento sobre Javadocs do setPrimaryChipContent no PrimaryLayout (Ie6296).

Versão 1.1.0-alpha03

23 de fevereiro de 2022

androidx.wear.tiles:tiles-*:1.1.0-alpha03 é lançado. A versão 1.1.0-alpha03 contém estas confirmações.

Mudanças na API

  • O componente Text com os estilos de tipografia recomendados foi adicionado ao Tiles Material (Iec0ae).

Versão 1.1.0-alpha02

9 de fevereiro de 2022

Lançamento de androidx.wear.tiles:tiles-*:1.1.0-alpha02. A versão 1.1.0-alpha02 contém estas confirmações.

Novos recursos

  • Adicionamos uma nova sub-biblioteca layouts ao Tiles Material. Ela contém layouts de blocos específicos com padding e margem recomendados aplicados para agilizar e facilitar o desenvolvimento de blocos. Os layouts iniciais são os seguintes:
    • O PrimaryLayout (I7ba91), que representa o layout com um ícone principal na parte de baixo e o conteúdo no centro.
    • O MultiSlotLayout (I32104), que representa um layout com identificadores nas linhas 1 e 3, slots horizontalmente alinhados e espaçados na linha 2 e todos seguidos por uma quarta linha que contém um ícone principal.
    • O ProgressIndicatorLayout (I9fec6), que representa um layout com o indicador de progresso circular ao redor da borda da tela e do conteúdo mostrado nela.
  • O CircularProgressIndicator (Ic4b88) foi adicionado aos componentes do Tiles Material.

Mudanças na API

  • Renomeação das constantes restantes usadas pelo TitleChip para incluir o título no nome (I14f4c).
  • O método setHorizontalAlignment foi adicionado ao Chip (Ie6e0b).

Versão 1.1.0-alpha01

26 de janeiro de 2022

Lançamento de androidx.wear.tiles:tiles-*:1.1.0-alpha01. A versão 1.1.0-alpha01 contém estas confirmações.

Novos recursos

  • Adicionamos a nova biblioteca Tiles Material. Ela contém componentes para criar layouts de blocos com mais rapidez e facilidade usando o Material Design. Os componentes iniciais são:
    • Button
    • Chip
    • CompactChip
    • TitleChip

Correções de bugs

  • Correção do bug em TileUiClient que fazia com que os recursos em cache fossem descartados (I60e0b).

Versão 1.0

Versão 1.0.1

26 de janeiro de 2022

Lançamento de androidx.wear.tiles:tiles-*:1.0.1. A versão 1.0.1 contém estas confirmações.

Correções de bugs

  • Correção do bug em TileUiClient que fazia com que os recursos em cache fossem descartados (I60e0b).

Versão 1.0.0

3 de novembro de 2021

Lançamento de androidx.wear.tiles:tiles-*:1.0.0. A versão 1.0.0 contém estas confirmações.

Principais recursos da versão 1.0.0

  • A biblioteca Wear Tiles tem uma funcionalidade para criar blocos personalizados para dispositivos Wear OS, além das classes que permitem que o sistema busque e exiba o bloco junto ao mostrador do relógio.
  • O elemento tiles-renderer permite que um bloco seja mostrado como parte de uma atividade do Android, facilitando o teste rápido dos layouts de blocos.

Versão 1.0.0-rc01

27 de outubro de 2021

Lançamento de androidx.wear.tiles:tiles-*:1.0.0-rc01. A versão 1.0.0-rc01 contém estas confirmações.

Versão 1.0.0-beta01

13 de outubro de 2021

androidx.wear.tiles:tiles-*:1.0.0-beta01 é lançado. A versão 1.0.0-beta01 contém estas confirmações.

Correções de bugs

  • Correção da NullPointerException no TileUiClient quando uma versão vazia do recurso era fornecida (I0586e).

Versão 1.0.0-alpha12

29 de setembro de 2021

Lançamento de androidx.wear.tiles:tiles-*:1.0.0-alpha12. A versão 1.0.0-alpha12 contém estas confirmações.

Correções de bugs

  • UpdateScheduler não usa mais uma referência fraca, corrigindo problemas em que o TileUiClient não era atualizado (I1120d, b/199061124).

  • Declara que o SysUiTileUpdateRequester consulta o PacakgeManager, corrigindo um bug em que as atualizações de blocos não funcionavam nos dispositivos R+ (I1120d).

Versão 1.0.0-alpha11

1.º de setembro de 2021

Lançamento de androidx.wear.tiles:tiles-*:1.0.0-alpha11. A versão 1.0.0-alpha11 contém estas confirmações.

Novos recursos

  • Uma biblioteca de testes, androidx.wear.tiles-tiles-testing, foi adicionada e lançada para que os desenvolvedores testem os blocos com mais facilidade (Iedb6b).

Mudanças na API

  • A classe TileProviderService foi renomeada como TileService (I1ad2c).
  • Os builders de blocos foram atualizados. Os métodos .builder() estáticos foram descontinuados e substituídos pelo new Foo.Builder(). As sobrecargas de setter que aceitavam uma instância de Builder foram removidas (Ia9606).
  • A classe TileRenderer agora usará um contexto da IU em vez do contexto do aplicativo (I84b61).

Correções de bugs

  • O bug que aplica vários sublinhados em algumas situações foi corrigido (Ib6712).

Versão 1.0.0-alpha10

18 de agosto de 2021

Lançamento de androidx.wear.tiles:tiles:1.0.0-alpha10, androidx.wear.tiles:tiles-proto:1.0.0-alpha10 e androidx.wear.tiles:tiles-renderer:1.0.0-alpha10. A versão 1.0.0-alpha10 contém estas confirmações.

Mudanças na API

  • Os verificadores de layout foram removidos da API pública. Eles sempre serão ativados, mas um aviso só será exibido se houver uma falha na verificação (Ie9f29).
  • A classe TileRenderer agora aceita um contexto de IU em vez do contexto do aplicativo.

Correções de bugs

  • O bug que impedia cliques em elementos clicáveis em uma Spannable foi corrigido.

Versão 1.0.0-alpha09

21 de julho de 2021

Lançamento de androidx.wear.tiles:tiles:1.0.0-alpha09, androidx.wear.tiles:tiles-proto:1.0.0-alpha09 e androidx.wear.tiles:tiles-renderer:1.0.0-alpha09. A versão 1.0.0-alpha09 contém estas confirmações.

Novos recursos

  • Adição de verificadores de layout ao renderizador do Wear Tiles (I3a869).
    • Eles são usados para validar as práticas recomendadas no bloco. Para começar, um alerta será gerado se o bloco não tiver elementos com um modificador Semantics.
  • Foi adicionada uma documentação para DefaultTileProviderClient e TestingTileProviderClient constructors (I9f4b9).

Mudanças na API

  • Renomeação em TileProviderClient (I0ec36):
    • getApiVersion -> requestApiVersion
    • tile/resourcesRequest -> requestTile/Resources
    • onTileFooEvent -> sendOnTileFooEvent
  • Adição de verificadores de layout ao renderizador do Wear Tiles (I3a869).

Correções de bugs

  • Garantir que um destino LaunchAction não tenha permissões especiais (I39136).

Versão 1.0.0-alpha08

30 de junho de 2021

Lançamento de androidx.wear.tiles:tiles:1.0.0-alpha08, androidx.wear.tiles:tiles-proto:1.0.0-alpha08 e androidx.wear.tiles:tiles-renderer:1.0.0-alpha08. A versão 1.0.0-alpha08 contém estas confirmações.

Novos recursos

  • Spanables agora são compatíveis com line_height em vez de line_spacing.

Mudanças na API

  • A compatibilidade com line_height foi adicionada em Spannables, removendo line_delimiter (Ibeb54).
    • Códigos que usam line_spacing precisam ser convertidos para usar line_height.

Correções de bugs

  • O bug ao usar dimensões proporcionais foi corrigido (I37ace).
  • O bug que impedia a descrição dos elementos de texto foi corrigido (Id2c7d).

Versão 1.0.0-alpha07

16 de junho de 2021

Lançamento de androidx.wear.tiles:tiles:1.0.0-alpha07, androidx.wear.tiles:tiles-proto:1.0.0-alpha07 e androidx.wear.tiles:tiles-renderer:1.0.0-alpha07. A versão 1.0.0-alpha07 contém estas confirmações.

Mudanças na API

  • A interface TileProviderClient foi adicionada e DefaultTileProviderClient foi exposta, permitindo que implementações sejam vinculadas a uma interface TileProviderService (I69165).

Versão 1.0.0-alpha06

2 de junho de 2021

Lançamento de androidx.wear.tiles:tiles:1.0.0-alpha06, androidx.wear.tiles:tiles-proto:1.0.0-alpha06 e androidx.wear.tiles:tiles-renderer:1.0.0-alpha06. A versão 1.0.0-alpha06 contém estas confirmações.

Mudanças na API

  • Todas as classes Builder agora contêm getters para todas as propriedades. Elas são destinadas apenas para testes (I9d155).
  • Mudança do pacote: as classes em androidx.wear.tiles.builders foram movidas para androidx.wear.tiles.
  • Adição de compatibilidade experimental com tonalidade em blocos (I38929).
  • LayoutElementBuilders.HALIGN_* foi renomeado como LayoutElementBuilders.HORIZONTAL_ALIGN_* (I67e58).
  • LayoutElementBuilders.VALIGN_* foi renomeado como LayoutElementBuilders.VERTICAL_ALIGN_* (I67e58).
  • LayoutElementBuilders.SPAN_VALIGN_* foi renomeado como LayoutElementBuilders.SPAN_VERTICAL_ALIGN_* (I67e58).
  • Adição de classes Builder para solicitações e eventos (Ib5cf4).
  • Migração de TileProviderService para usar classes de solicitação e evento de RequestBuilders e EventBuilders em vez de RequestReaders/EventReaders. Por exemplo, a onTileRequest agora fornece um RequestBuilders.TileRequest em vez de RequestReaders.TileRequest (I46ea1).

Correções de bugs

  • Correção do bug no carregamento assíncrono de imagem para o renderizador de blocos (Iad9b0).
  • Correção do bug de layout ao colocar uma imagem com largura ou altura definidas como expand() em um Box com largura ou altura definidas como wrap() (I33770).

Versão 1.0.0-alpha05

18 de maio de 2021

Lançamento de androidx.wear.tiles:tiles:1.0.0-alpha05, androidx.wear.tiles:tiles-proto:1.0.0-alpha05 e androidx.wear.tiles:tiles-renderer:1.0.0-alpha05. A versão 1.0.0-alpha05 contém estas confirmações.

Mudanças na API

  • getTileId foi removido dos eventos de blocos recebidos (TileAddEvent, TileRemoveEvent, TileEnterEvent, TileLeaveEvent, TileRequest) (Ifbba2).
  • ImageResource#setAndroidResourceByResid foi renomeado como setAndroidResourceByResId (I4ba6e).
  • TimelineManager#deInit foi renomeado para close e AutoCloseable foi implementado (I5dff2).

Versão 1.0.0-alpha04

5 de maio de 2021

Lançamento de androidx.wear.tiles:tiles:1.0.0-alpha04, androidx.wear.tiles:tiles-proto:1.0.0-alpha04 e androidx.wear.tiles:tiles-renderer:1.0.0-alpha04. A versão 1.0.0-alpha04 contém estas confirmações.

Mudanças na API

  • As classes TileProviderService concretas foram ocultas.
    • Agora, o TileUpdateRequester usa um Class<? extends TileProviderService> (Ib7cca).
  • Nova capacidade de acrescentar extras à AndroidActivity (I748f4).

Tiles: versão 1.0.0-alpha03

21 de abril de 2021

Lançamento de androidx.wear.tiles:tiles:1.0.0-alpha03, androidx.wear.tiles:tiles-proto:1.0.0-alpha03 e androidx.wear.tiles:tiles-renderer:1.0.0-alpha03. A versão 1.0.0-alpha03 contém estas confirmações.

Mudanças na API

  • TileManager foi renomeado como TileClient
    • TileManager#create foi renomeado como TileClient#connect (I91839).

Correções de bugs

  • Regras do Proguard foram incluídas para garantir que tiles e tiles-renderer funcionem corretamente com o ProGuard ativado (Ie3d85).

Versão 1.0.0-alpha02

7 de abril de 2021

Lançamento de androidx.wear.tiles:tiles:1.0.0-alpha02, androidx.wear.tiles:tiles-proto:1.0.0-alpha02 e androidx.wear.tiles:tiles-renderer:1.0.0-alpha02. A versão 1.0.0-alpha02 contém estas confirmações.

Mudanças na API

  • androidx.wear:wear-tiles mudou de grupos e agora precisa ser chamado usando androidx.wear.tiles:tiles.
  • androidx.wear:wear-tiles-renderer mudou de grupos e agora precisa ser chamado usando androidx.wear.tiles:tiles-renderer.
  • TileRenderer.LoadActionListener agora consome uma instância de androidx.wear.tiles.builders.StateBuilders.State em vez de androidx.wear.tiles.proto.StateProto.State.
  • TileRenderer agora aceita recursos de blocos de androidx.wear.tiles.builders.ResourceBuilders.Resources, em vez de uma instância de androidx.wear.tiles.renderer.ResourceAccessors.

Correções de bugs

  • Correção da impossibilidade de usar LoadActionListener, porque ele expunha uma classe interna.

Versão 1.0.0-alpha01

10 de Março de 2021

Lançamento de androidx.wear:wear-tiles:1.0.0-alpha01, androidx.wear:wear-tiles-proto:1.0.0-alpha01 e androidx.wear:wear-tiles-renderer:1.0.0-alpha01. A versão 1.0.0-alpha01 contém estas confirmações.

Novos recursos

  • A biblioteca Wear Tiles Renderer fornece funcionalidade para criar blocos personalizados para dispositivos Wear OS, além das classes que permitem que o sistema busque e exiba o bloco ao lado do mostrador do relógio.