O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Wear

Crie aplicativos para smartwatches Wear OS by Google.

Esta tabela lista todos os artefatos no grupo androidx.wear.

Artefato Versão estável atual Próximo candidato a lançamento Versão Beta Versão Alfa
wear 1.1.0 - - 1.2.0-alpha05
wear-input 1.0.0 - - -
wear-complications-data - - - 1.0.0-alpha05
wear-complications-provider - - - 1.0.0-alpha05
wear-watchface - - - 1.0.0-alpha05
wear-watchface-client - - - 1.0.0-alpha05
wear-watchface-complications-rendering - - - 1.0.0-alpha05
wear-watchface-data - - - 1.0.0-alpha05
wear-watchface-style - - - 1.0.0-alpha05
Esta biblioteca foi atualizada pela última vez em 13 de janeiro de 2021

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:

dependencies {
    implementation "androidx.wear:wear:1.1.0"

    // Add support for wearable specific inputs
    implementation "androidx.wear:wear-input:1.0.0"
    implementation "androidx.wear:wear-input-testing:1.0.0"

    // Use to implement wear watchface complications
    implementation "androidx.wear:wear-complications-provider:1.0.0-alpha05"

    // Use to implement wear watchfaces
    implementation "androidx.wear:wear-watchface:1.0.0-alpha05"
}

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

Feedback

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

Criar novo problema

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

Wear Complications and Watchface 1.0.0

Versão 1.0.0-alpha05

13 de janeiro de 2021

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

Novos recursos

Mostradores de relógio geralmente são compatíveis com diversas configurações de complicação com um número variável de complicações mostrado. Para facilitar a configuração, agora temos compatibilidade com complicações inicialmente desativadas ao chamar setEnabled(false) no builder. É possível ativá-las mais tarde com ComplicationsUserStyleSetting.

Mudanças na API

  • ComplicationHelperActivity agora aceita Collection<ComplicationType> em vez de uma matriz int, facilitando o uso (I1f13d).
  • ProviderInfoRetriever.retrieveProviderInfo agora retorna ListenableFuture<ProviderInfo[]> corretamente (If2710).
  • Agora é possível criar uma complicação inicialmente desativada chamando setEnabled(false) no builder (Idaa53).
  • WatchFaceState agora tem uma propriedade isHeadless que só é verdadeira para instâncias headless (Ifa900).
  • ComplicationDrawable agora é compatível com o carregamento síncrono de drawables. Isso é usado pelas APIs de captura de tela (I34d4a).

Versão 1.0.0-alpha04

16 de dezembro de 2020

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

Novos recursos

  • A biblioteca de mostradores do relógio do Wear agora oferece compatibilidade com a configuração de limites por tipo. Por exemplo, você pode alternar para uma caixa delimitadora ampla para ComplicationType.LONG_TEXT enquanto usa uma caixa delimitadora menor para outros tipos.

Mudanças na API

  • As complicações agora usam ComplicationBounds, que agrupa um Map<ComplicationType, RectF> para compatibilidade com tamanhos de tipos de complicação (I1ebe7).
  • RenderParameters agora permite especificar a tonalidade do destaque para uso em capturas de tela (Iff42b).
  • Com exceção dos limites, agora é preciso usar ComplicationsUserStyleSetting para modificar as complicações. Isso serve para garantir a sincronização do SO (I8dc5d).
  • O Renderer agora é uma classe selada. Isso significa que o CanvasRenderer e o GlesRenderer agora são classes internas do Renderer (Iab5d4, b/173803230).
  • Renomeação de CanvasComplicationDrawable.drawHighlight para drawOutline. ObservableWatchData agora tem algumas anotações UiThread ausentes. ScreenState foi totalmente removido do WatchState (If1393).
  • O nível mínimo de API para o mostrador do relógio agora é 25. A compatibilidade com tela de hardware exige o nível de API 26 ou mais recente (Ic9bbd).
  • InteractiveWatchFaceWcsClient agora tem um auxiliar getComplicationIdAt (I05811).
  • O nível de API para wear-watchface-client foi reduzido para 25. No entanto, as APIs de captura de tela exigem o nível 27 (Id31c2).

Correções de bugs

  • Agora expomos o ComplicationType atual da ComplicationData da complicação em ComplicationState (I9b390).
  • InteractiveWatchFaceWcs agora tem um método `bringAttentionToComplication para destacar brevemente a complicação especificada (I6d31c).
  • InteractiveWatchFaceWcsClient#setUserStyle agora tem uma sobrecarga que aceita Map, o que pode evitar mais uma ida e volta na IPC necessária para construir UserStyle (I24eec).

Versão 1.0.0-alpha03

2 de dezembro de 2020

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

Novos recursos

A classe Complication agora tem uma propriedade compicationData, permitindo que mostradores de relógio observem mudanças em ComplicationData. Isso permite mudar as dimensões da complicação com base no tipo dela.

Agora, os frame rates variáveis são compatíveis com a atribuição ao Renderer.interactiveDrawModeUpdateDelayMillis. Para mostradores de relógio que executam animações curtas a cada segundo, isso pode gerar uma boa economia de energia no modo suspenso, quando eles não estiverem com animações.

Mudanças na API

  • BACKGROUND_IMAGE foi renomeado como PHOTO_IMAGE de acordo com as classes relacionadas. Esse tipo de complicação não é usado exclusivamente em segundo plano. Por isso, o nome foi mudado (I995c6).
  • DefaultComplicationProviderPolicy anotado corretamente com IntDefs (I3b431).
  • A classe oculta TimeDependentText não é mais exposta por ContentDescriptionLabel. Em vez disso, adicionamos um acessador para receber o texto em um horário especificado (Ica692).
  • O construtor do ObservableWatchData agora é interno (I30121, b/173802666).
  • Complication agora tem ComplicationData, permitindo que mostradores de relógio observem mudanças em ComplicationData. Complication também tem uma nova chamada isActiveAt, que pode ser usada para saber se algo precisa ser renderizado na data e hora informadas (Ic0e2a).
  • O SharedMemoryImage vazio não está mais na API pública (I7ee17).
  • WatchFace.overridePreviewReferenceTimeMillis agora tem uma anotação IntRange, e o getter e o setter têm nomes consistentes (Ia5f78).
  • Complication.Builder agora é criado via Complication.createRoundRectComplicationBuilder ou Complication.createBackgroundComplicationBuilder para maior clareza (I54063).
  • Adição de WatchFace.TapListener, que permite que toques não consumidos por complicações sejam observados pelo WatchFace (Ic2fe1, b/172721168).
  • O WatchFace agora é compatível com frame rates variáveis atribuindo a Renderer.interactiveDrawModeUpdateDelayMillis. Isso pode ajudar a preservar a duração da bateria no modo suspenso, quando não houver animações (I707c9).
  • WatchFace.Builder não é mais necessário, e invalid() e interactiveUpdateRateMillis foram movidos para o Renderer (I329ea).
  • Para melhoria na interoperabilidade do Java, os getters foram renomeados para propriedades booleanas no WatchState (I6d2f1).
  • Renomeação de TapListener como TapCallback e InvalidateCallback como InvalidateListener para consistência (I9414e).
  • As opções de estilo do mostrador do relógio do Wear 2.0 foram movidas para a própria classe, para maior clareza. Os setters WatchFace.Builder agora têm getters simétricos da classe WatchFace (Iefdfc).
  • Adição de InteractiveWatchFaceWcsClient e WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient, que recebem uma instância existente ou a criam assim que o serviço de plano de fundo se conecta e produz o mecanismo (Id666e).
  • WatchFaceControlClient agora é uma interface para permitir a simulação de testes (I875d9).
  • HeadlessWatchFaceClient, InteractiveWatchFaceSysUiClientImpl e InteractiveWatchFaceWcsClient agora são interfaces para facilitar os testes (I7cdc3).
  • Adição de anotações aos métodos em wear-watchface-complications-rendering (I0d65c).

Correções de bugs

  • Remoção do formato de tela do DeviceConfig, que estava duplicando android.content.res.Configuration#isScreenRound() (Ifadf4).
  • Mudança de WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient para aceitar um Map<String, String> em vez de UserStyle, porque é difícil criar um UserStyle sem conhecer o esquema, que só é possível receber depois que o cliente é criado (Iea02a).
  • Correção de InteractiveWatchFaceWcsClient para usar ComplicationState em vez do formato de condutor (Icb8a4).
  • UserStyleSettings agora é uma classe selada porque os editores de mostradores de relógio só entendem as classes integradas (I2d797).

Versão 1.0.0-alpha02

11 de novembro de 2020

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

Mudanças na API

  • O ComplicationDetails agora é chamado de ComplicationState e está adequadamente encapsulado. Os usos da compatibilidade do wearable com @ComplicationData.ComplicationType foram migrados para o ComplicationType do androidx (I4dd36).
  • Adição de um parâmetro highlightedComplicationId opcional a RenderParameters, que permite solicitar o destaque de uma única complicação nas capturas de tela (I66ce9).
  • O ComplicationProviderService usará a nova API de complicação de estilo para consistência (Id5aea).
  • getPreviewReferenceTimeMillis agora recebe tempos de referência de DeviceConfig (I779fe).
  • Simplificação da plataforma da API Renderer. Agora, o SurfaceHolder.Callback pode ser usado para observar as mudanças (I210db).
  • O CanvasComplicationRenderer não é uma extensão do Renderer. Renomeando para maior clareza (Ibe880).

Correções de bugs

  • Primeira versão de androidx.wear:wear-watchface-client (I1e35e).
  • Mudança do nome de GlesTextureComplication#renderer para maior clareza (Ibb78f7).
  • Renomeação de StyleCategory como StyleSetting para maior clareza (I488c7).
  • Adição de UserStyleSchema para uma API mais limpa (If36f8).

Versão 1.0.0-alpha01

28 de outubro de 2020

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

Mudanças na API

  • Remoção de alguns itens que não pretendíamos expor na API pública (I41669).
  • Criação da biblioteca androidx.wear:wear-complications-provider (I77f1f).
  • ComplicationsUserStyleCategory é a nova categoria recomendada para configurar complicações (I96909).
  • Adição da API wear-complication-data (I7c268).
  • As funções com valores de retorno booleanos serão prefixadas com "is" em vez de "get" (If36ff).
  • A recomendação da API é evitar o uso protegido, de modo que essa classe tenha sido refatorada para receber parâmetros pelo construtor (I61644).
  • Renomeação de setBackgroundComplication para maior clareza (I96fe3).
  • Uso de propriedades Kotlin para dados e isHighlighted do ComplicationDrawable (I4dcc8).
  • Em vez de ComplicationRenderer.InvalidateCallback, adicionamos Complication#invalidate() (I4f4c6).
  • Essas APIs terão o uso suspenso em WearableSupport e serão removidas aqui (Ib425c).
  • Alguns métodos do builder WatchFace foram renomeados para enfatizar a natureza de legado do Wear 2.0 (Idb775).
  • Primeira candidata de API Beta para wear/wear-watchface (Id3981).
  • Primeira versão rastreada da API (Ie9fe6).
  • ComplicationDrawable.BorderStyle IntDef foi adequadamente ocultado e movido para ComplicationStyle para consistência (I27f7a).
  • Adição de anotações ausentes para métodos ComplicationStyle (I838fd).
  • Esta biblioteca não tem plataforma de API pública (I88e2b).
  • Todas as classes Option de categoria de estilo agora são adequadamente finais (Ib8323).
  • Primeira versão rastreada da API (I27c85).

Correções de bugs

  • Mudança de ComplicationProviderService para ter um método getComplicationPreviewData explícito (I4905f).
  • A verificação de lint da API para MissingGetterMatchingBuilder está ativada para androidx (I4bbea, b/138602561).
  • Renomeação de wear-complications-rendering (Ifea02).
  • Os nomes de exibição da categoria de estilo agora são CharSequences (I28990).
  • Troca de "Substituir" por "Sobrepor" para corresponder às convenções de nomenclatura de temas e estilos atuais (I4fde9).
  • Renomeação de UserStyle#getOptions para maior clareza (I695b6).

Versão 1.2.0

Versão 1.2.0-alpha05

13 de janeiro de 2021

Lançamento de androidx.wear:wear:1.2.0-alpha05. A versão 1.2.0-alpha05 contém essas confirmações.

Correções de bugs

  • Atualização do javadoc da classe AmbientModeSupport para fornecer snippets de amostra que demonstrem melhor o uso geral dessa classe.

Versão 1.2.0-alpha04

16 de dezembro de 2020

Lançamento de androidx.wear:wear:1.2.0-alpha04. A versão 1.2.0-alpha04 contém essas confirmações (link em inglês).

Mudanças na API

  • Adição de compatibilidade para indicar que uma Activity pode ser "retomada automaticamente" quando o dispositivo sai do modo ambiente na classe AmbientModeSupport. Essa funcionalidade estava disponível anteriormente na classe WearableActivity obsoleta da WearableSupportLibrary (I336ab).
  • OngoingActivity
    • Agora, a categoria pode ser definida ao criar uma OngoingActivity, por exemplo, OngoingActivitiy.Builder.getCategory(String).
    • OngoingActivityData agora tem um carimbo de data/hora de quando a OngoingActivity foi criada: OngoingActivityData.getTimestamp() (I91cb4).
  • Adição de compatibilidade com a definição de margens em filhos do WearArc Layout ao mudar os parâmetros de layout para estender MarginLayoutParams, ou seja, WearArc Layout.LayoutParams estende android.view.ViewGroup.MarginLayoutParams (I2cd88).
  • Mude o tipo de âncora do WearCurvedTextView padrão para WearArcLayout.ANCHOR_CENTER (era WearArcLayout.ANCHOR_START). Isso simplifica o contrato entre o layout do arco e o texto curvo, porque o texto curvo desenha-se por padrão centrado em X no topo e o layout do arco pai pode girar para onde ele precisar estar (I105ff).

Versão 1.2.0-alpha03

2 de dezembro de 2020

Lançamento de androidx.wear:wear:1.2.0-alpha03. A versão 1.2.0-alpha03 contém essas confirmações (link em inglês).

Novos recursos

Um novo contêiner de layout DismissableFrameLayout, que lida com o botão "Voltar" para dispensar e/ou deslizar para dispensar, para ser usado em uma atividade. Pelo menos um listener precisa ser adicionado para atuar em uma ação de dispensar. Um listener geralmente remove uma visualização ou um fragmento da atividade atual. setSwipeDismissable(boolean) e setBackButtonDismissable(boolean) são fornecidos para controle direto sobre os recursos. Esse novo layout é destinado a substituir o SwipeDismissFrameLayout existente.

Os widgets curvos agora processam eventos de toque. Os widgets normais de um WearArcLayout receberão todos os eventos de toque, mapeados para o próprio espaço de coordenadas. WearCurveTextView, dentro de um WearArcLayout ou não, pode definir gerenciadores onClick e onLongClick.

As classes de atividades contínuas agora são VersionedParcelables em vez de usar serialização/desserialização personalizada. O ícone estático e a intent de toque agora são necessários.

Mudanças na API

  • O atributo "sweepDegrees" para WearCurvedTextView é separado em minSweepDegrees e maxSweepDegrees para fornecer um layout mais flexível desse widget.

Versão 1.2.0-alpha02

11 de novembro de 2020

androidx.wear:wear:1.2.0-alpha02 é lançado. A versão 1.2.0-alpha02 contém estas confirmações.

Esta versão adiciona uma nova API Ongoing Activities pela primeira vez. Os desenvolvedores podem usar essa API para sinalizar que uma atividade de longa duração está em andamento, como um exercício físico ou uma sessão de reprodução de mídia. Ela permite que os desenvolvedores forneçam atualizações de status periódicas, como "distância e tempo decorrido" ou "faixa em reprodução", para exibição no mostrador do relógio ou na tela de início. Essa funcionalidade é voltada a dispositivos futuros com a funcionalidade de atividade contínua ativada.

Mudanças na API

  • Nova API para atividades contínuas, que é um ambiente autônomo em "dispositivos não compatíveis" (I69a31).

Versão 1.2.0-alpha01

28 de outubro de 2020

androidx.wear:wear:1.2.0-alpha01 é lançado. A versão 1.2.0-alpha01 contém essas confirmações (link em inglês).

Novos recursos

  • Adição do componente WearCurvedTextView para facilitar a escrita seguindo a curvatura do maior círculo que pode ser inscrito na visualização. Um exemplo de uso:
<androidx.wear.widget.WearCurvedTextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="example curved text"
        app:anchorAngleDegrees="180"
        app:anchorPosition="center"
        app:clockwise="false"
        style="@android:style/TextAppearance.Large"
/>

Exemplo de texto curvo no Android Wear

  • Adição do contêiner WearArcLayout para definir o layout dos elementos filhos, um por um, em um arco no sentido horário ou anti-horário. Os filhos podem ser widgets Android padrão ou widgets "curvos" que implementam a interface ArcLayoutWidget. Um exemplo de uso:
<androidx.wear.widget.WearArcLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:anchorPosition="center">
      <ImageView
              android:layout_width="20dp"
              android:layout_height="20dp"
              android:src="@drawable/ic_launcher"
      />
      <androidx.wear.widget.WearCurvedTextView
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:text="Curved Text"
              style="@android:style/TextAppearance.Small"
              android:padding="2dp"
       />
  </androidx.wear.widget.WearArcLayout>

Exemplo de texto em arco no Android Wear

(I536da)

Wear-Input 1.0.0

Versão 1.0.0

2 de dezembro de 2020

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

Essa versão é idêntica a 1.0.0-rc01.

Principais recursos de 1.0.0

  • Migração da funcionalidade WearableButtons da Biblioteca de Suporte de Wearables para o Jetpack.

  • Adição de androidx.wear.input.test.TestWearableButtonsProvider, que implementa androidx.wear.input.WearableButtonsProvider para ajudar aplicativos de teste desenvolvidos com a biblioteca androidx.wear:wear-input

Versão 1.0.0-rc01

11 de novembro de 2020

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

Essa versão é idêntica à 1.0.0-beta01.

Versão 1.0.0-beta01

28 de outubro de 2020

Lançamento de androidx.wear:wear-input:1.0.0-beta01 e androidx.wear:wear-input-testing:1.0.0-beta01, sem mudanças desde a 1.1.0-alpha01. A versão 1.0.0-beta01 contém estas confirmações.

Wear-Input-Testing versão 1.0.0-alpha01

14 de outubro de 2020

androidx.wear:wear-input-testing:1.0.0-alpha01 é lançado. A versão 1.0.0-alpha01 contém estas confirmações.

Mudanças na API

  • Adição de androidx.wear.input.test.TestWearableButtonsProvider, que implementa androidx.wear.input.WearableButtonsProvider para ajudar aplicativos de teste desenvolvidos com a biblioteca androidx.wear:wear-input (I0ed0c).

Wear-Input versão 1.0.0-alpha01

2 de setembro de 2020

androidx.wear:wear-input:1.0.0-alpha01 é lançado. A versão 1.0.0-alpha01 contém essas confirmações (link em inglês).

Novos recursos

Migração da funcionalidade WearableButtons da Biblioteca de Suporte de Wearables para o Jetpack. Será oferecida maior compatibilidade com testes na biblioteca androidx.wear:wear-input-testing na próxima versão do Jetpack.

Versão 1.1.0

Versão 1.1.0

14 de outubro de 2020

androidx.wear:wear:1.1.0 é lançado. A versão 1.1.0 contém essas confirmações (link em inglês).

Principais mudanças desde a versão 1.0.0

  • Adição de um prefixo layout_ ao atributo boxedEdges (agora layout_BoxedEdges) para BoxInsetLayout para obedecer à convenção de nomenclatura do Android. Isso removerá o erro de linter no Android Studio para esses atributos (I4272f).
  • Adição de EXTRA_ANIMATION_DURATION_MILLIS opcional a ConfirmationActivity para permitir a duração de exibição da caixa de diálogo de confirmação (adb83ce, b/143356547)
  • Atualização de WearableActionDrawView para atrasar a inflação da gaveta de ação até que ela seja aberta pela primeira vez (I01026, b/163870541)

Versão 1.1.0-rc03

2 de setembro de 2020

androidx.wear:wear:1.1.0-rc03 é lançado. A versão 1.0.0-rc03 contém essas confirmações.

Correções de bugs

  • Foi corrigido o problema em que a gaveta de ação não mostrava o conteúdo quando aberta (I01026, b/163870541)

Versão 1.1.0-rc02

24 de junho de 2020

androidx.wear:wear:1.1.0-rc02 é lançado. A versão 1.0.0-rc02 contém essas confirmações (link em inglês).

Correções de bugs

  • Adição de um prefixo layout_ ao atributo boxedEdges (agora layout_boxedEdges) para BoxInsetLayout para obedecer à convenção de nomenclatura do Android. Isso removerá o erro de linter no Android Studio para esses atributos.

Versão 1.1.0-rc01

14 de maio de 2020

androidx.wear:wear:1.1.0-rc01 é lançado sem mudanças desde .1.0-beta01. A versão 1.1.0-rc01 contém essas confirmações (link em inglês).

Versão 1.1.0-beta01

29 de abril de 2020

androidx.wear:wear:1.1.0-beta01 é lançado sem mudanças desde androidx.wear:wear:1.1.0-alpha01. A versão 1.3.0-beta01 contém essas confirmações (link em inglês).

Versão 1.1.0-alpha01

15 de abril de 2020

androidx.wear:wear:1.1.0-alpha01 é lançado. A versão 1.1.0-alpha01 contém essas confirmações (link em inglês).

Mudanças na API

  • Adição de EXTRA_ANIMATION_DURATION_MILLIS opcional a ConfirmationActivity para permitir a duração de exibição da caixa de diálogo de confirmação (adb83ce, 134523c, b/143356547, links em inglês).

Correções de bugs

  • Atualização de WearableActionDrawView para atrasar a inflação da gaveta de ação até que ela seja aberta pela primeira vez (5cd32f7, link em inglês).