Glance

Crie layouts para superfícies remotas usando uma API no estilo Jetpack Compose.
Atualização mais recente Versão estável Versão candidata a lançamento Versão Beta Versão Alfa
7 de maio de 2025 1.1.1 - - 1.2.0-alpha01

Declarar dependências

Para adicionar uma dependência ao Glance, é preciso adicionar 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 ao arquivo build.gradle do seu app ou módulo:

Groovy

dependencies {
    // For Glance support
    implementation "androidx.glance:glance:1.2.0-alpha01"
    // For AppWidgets support
    implementation "androidx.glance:glance-appwidget:1.2.0-alpha01"

    // For Wear-Tiles support
    implementation "androidx.glance:glance-wear-tiles:1.0.0-alpha05"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.0-beta03"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    // For Glance support
    implementation("androidx.glance:glance:1.2.0-alpha01")
    
    // For AppWidgets support
    implementation("androidx.glance:glance-appwidget:1.2.0-alpha01")

    // For Wear-Tiles support
    implementation("androidx.glance:glance-wear-tiles:1.0.0-alpha05")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.0-beta03"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Para 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.2

Versão 1.2.0-alpha01

7 de maio de 2025

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

Mudanças na API

  • O currentCompositeKeyHash foi descontinuado. Use currentCompositeKeyHashCode. A API de substituição codifica o mesmo hash com mais bits, o que reduz exponencialmente a chance de dois grupos aleatórios não relacionados na hierarquia de composição terem a mesma chave de hash.(I4cb6a, b/177562901).
  • Adiciona uma nova API para especificar o alfa (0f a 1f) para o elemento combinável de imagem de relance e o modificador de imagem de plano de fundo. Quando não especificado, mantém o alfa da imagem de origem. (I8ad05).
  • Adição de APIs Glance para prévias geradas. Substitua GlanceAppWidget.providePreview para fornecer um layout de visualização para o widget. Em seguida, chame GlanceAppWidgetManager.setWidgetPreview para definir a visualização. (Iced16).
  • Adição de MultiProcessGlanceAppWidget para oferecer suporte a configurações de vários processos (Idbb90).
  • A tag experimental foi removida. Agora, oferecemos suporte a lambdas (I74d98, b/299361317).
  • Permitir a especificação do receptor lambda para GlanceAppWidget.runComposition (I84829).
  • Adição do parâmetro previewSize a requestPinGlanceAppWidget (I9f8f0, b/303256067).

Correções de bugs

  • O contorno manual de acesso a novas APIs da plataforma foi removido, já que isso acontece automaticamente pelo modelagem de API ao usar o R8 com o AGP 7.3 ou mais recente (por exemplo, o R8 versão 3.3) e para todos os builds ao usar o AGP 8.1 ou mais recente (por exemplo, o D8 versão 8.1). Os clientes que não estão usando o AGP precisam fazer upgrade para a versão 8.1 ou mais recente do D8. Veja mais detalhes neste artigo. (If6b4c, b/345472586).
  • Atualização das bibliotecas glance-appwidget para compileSdk 35 (I2e26b).

Versão 1.1

Versão 1.1.1

16 de outubro de 2024

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

Correções de segurança

  • A partir dessa mudança, o androidx compila com o protobuf 4.28.2 para resolver o CVE-2024-7254. Faça upgrade da dependência na versão 1.1.0 de androidx.glance:glance-appwidget-proto e androidx.glance:glance-appwidget-external-protobuf para 1.1.1 para resolver o risco de vulnerabilidade.

Versão 1.1.0

12 de junho de 2024

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

Mudanças importantes desde a versão 1.0.0

  • O Glance foi movido para a versão 1.1.0 estável.

Versão 1.1.0-rc01

14 de maio de 2024

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

Novos recursos

  • Adição de parâmetros de largura e altura às anotações de visualização do Glance. A versão 1.1.0 foi movida para candidato a lançamento.

Mudanças na API

  • Adiciona um parâmetro opcional ao Scaffold. (If753f).
  • Adição de parâmetros de largura e altura ao @Preview do Glance. (Ibabe8).
  • A remoção da compatibilidade com as visualizações de blocos do glance wear. (I3850a).
  • Adição da API para definir valores de peso personalizados para FontStyle. (I7390a).
  • Os tipos enumerados ImplementationMode de Viewfinder foram renomeados para refletir melhor as implementações e adicionar constantes fixas para TransformationInfo.sourceRotation (Ic6149).

Correções de bugs

  • Correção de um bug que causava problemas de renderização para ViewGroups no modo de compatibilidade com versões anteriores (I8de92).

Contribuição externa

Versão 1.1.0-beta02

17 de abril de 2024

Lançamento de androidx.glance:glance-*:1.1.0-beta02. Esta versão contém frascos de origem que estavam ausentes na versão anterior.

Versão 1.1.0-beta01

3 de abril de 2024

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

Versão 1.1.0-alpha01

7 de fevereiro de 2024

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

Novos recursos

  • Biblioteca de teste unitário para o Glance que não exige o UI Automator. O código de relance pode ser testado diretamente sem precisar inflar a visualização.
  • Componentes de nível mais alto para layouts mais simples.
  • Novos modificadores e opções de tema.
  • Nova API para receber um fluxo de RemoteViews de uma composição, runComposition

Mudanças na API

  • Foi adicionada uma nova função de cor widgetBackground aos temas do Glance. (Ia2ab8).
  • GlanceAppWidget.runComposition foi adicionado (I6344c, b/298066147).
  • Adição de um novo componente TopBar (Ibd361).
  • Adiciona substituições ao modificador clickable. (Iacecf).
  • Adiciona uma nova API para colorir botões. Isso deve ser experimental até que a versão 1.0 seja lançada. (I92523).
  • Adiciona runGlanceAppWidgetUnitTest, que fornece escopo para chamar métodos em GlanceAppWidgetUnitTest, como provideComposable para fornecer um elemento combinável pequeno e isolado para teste e onNode para encontrar um elemento combinável do Glance no conteúdo fornecido. Isso permite que você escreva testes de unidade para funções combináveis individuais no appWidget para verificar se, dadas determinadas entradas, a função gera o conjunto desejado de elementos combináveis de relance. (I2f682).
  • Adiciona um modificador testTag na semântica para uso em testes de unidade. (I8f62f).
  • Atualização TitleBar: o texto e o ícone podem ser coloridos individualmente. (Ia0a60).
  • Adição do componente de scaffold (I8a736).
  • Adiciona o filtro hasActionRunCallbackClickAction e a declaração assertHasActionRunCallbackClickAction para testar actionRunCallack. Além disso, adiciona outras funções de variante de abreviação para filtros de teste relacionados a ações: hasStartActivityClickAction<activityClass>(..), hasStartServiceAction<receiverClass>(..), hasSendBroadcastAction<receiverClass>(..). Adiciona variantes semelhantes para as contrapartes assertHasXXX. (Ieca63).
  • Move a API não lançada. Muda um modificador de interno para público, mas restrito à biblioteca (If2a08).
  • Foi adicionado o método onCompositionError, em que os desenvolvedores podem executar código quando ocorre um erro (I9b56f).
  • Adição de APIs de botão e botão de ícone ao glance (I0fd6f).
  • Adiciona filtros isLinearProgressIndicator, isIndeterminateLinearProgressIndicator e isIndeterminateCircularProgressIndicator para corresponder aos indicadores de progresso. Inclui filtro hasAnyDescendants adicional para testar se um nó tem um descendente na subhierarquia que corresponde a um comparador específico (Ifd426).
  • Adiciona declarações e filtros para permitir o teste de ações de clique que iniciam serviços / atividades ou transmissões. Também inclui testes para verificar se os elementos de entrada estão marcados. (I3041c).

Versão 1.0.0

Versão 1.0.0-alpha06

7 de fevereiro de 2024

Lançamento de androidx.glance:glance-appwidget-preview:1.0.0-alpha06 e androidx.glance:glance-preview:1.0.0-alpha06. A versão 1.0.0-alpha06 contém estas confirmações.

Novos recursos

  • Versão atualizada para seguir o módulo principal do Glance.

Versão 1.0.0

6 de setembro de 2023

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

Principais recursos da versão 1.0.0

  • Move Glance para a versão estável 1.0.0

Versão 1.0.0-rc01

26 de julho de 2023

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

O Glance foi movido para rc01 no caminho para a versão estável 1.0.0.

Novos recursos

  • Adiciona parâmetros principais a action lambdas para uma invocação de ação mais estável.
  • Adiciona a capacidade de fornecer ações de ActvityOptions a startActivity.
  • Adiciona suporte ao Android 14

Mudanças na API

  • Adicionamos um parâmetro de chave opcional para todos os elementos que aceitam lambdas. (Id96c1, b/282445798).
  • Foi adicionado suporte para definir o pacote ActivityOptions para actionStartActivity (I6a08d).
  • Os arquivos de API públicos e experimentais foram mesclados para caminhos d, e, f e g (I03646, b/278769092).
  • N/A, as mudanças no arquivo da API são apenas métodos de reordenação (I5fa95).
  • Adição de uma API para definir CoroutineContext para solicitações GlanceAppWidgetReceiver (I0a100).
  • Uma nova API foi adicionada para fornecer ActivityOptions para LazyColumn e LazyVerticalGrid, que será usada para todas as ações na lista.(Id8d71).

Correções de bugs

  • N/A, as mudanças no arquivo da API são apenas métodos de reordenação (I5fa95).
  • Demonstração do estilo do componente de texto do Glance (Ie78a4, link em inglês)

Versão 1.0.0-beta01

10 de maio de 2023

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

Novos recursos

  • Move a biblioteca para a versão Beta.
  • Compatibilidade com temas usando GlanceTheme , adicionando os módulos glance-material e glance-material3 para oferecer suporte aos temas de estilo Material 2 e Material 3 no Glance.
  • Compatibilidade com FontFamily adicionada às APIs de texto.
  • O GlanceAppWidget foi movido para um mecanismo de atualização baseado em sessão WorkManager. Os usuários do Glance para AppWidgets agora precisam substituir GlanceAppWidget.provideGlance em vez do método Content antigo. Como isso agora acontece em um worker, é um bom lugar para carregar recursos, banco de dados ou itens de rede sem precisar de um worker separado.

Mudanças na API

  • Adição da API *Defaults para Button, Checkbox, RadioButton e Switch. Ele está mais alinhado com os padrões do Jetpack Compose. (I94828).
  • Novo módulo de modelos de Visão geral (I94459).
  • Tornar ResourceColorProvider interno ao módulo. Mudança interruptiva. Isso é necessário porque ResourceColorProvider só pode ser usado para temas dinâmicos para evitar situações em que algumas cores são recursos dinâmicos e outras são totalmente resolvidas. (Ib0db7).
  • Adiciona FontFamily como uma opção para TextStyle. (Ic19ba, b/274179837).
  • O nome do parâmetro de valor para Enum.valueOf foi alterado (Ia9b89).
  • Agora, há mais exceções geradas pelo tipo enumerado valueOf (I818fe).
  • Atualização de GlanceAppWidget para usar provideGlance como o ponto de entrada principal. O uso de GlanceAppWidget.Content foi descontinuado (I202b5).
  • Foi adicionada uma opção para fornecer a cor do matiz para imagens (I26192, b/212418562).
  • Mais nulidade do tipo de retorno das funções ocultas descontinuadas. (Ibf7b0).
  • A anotação @JvmDefaultWithCompatibility foi adicionada (I8f206).
  • O SingleEntityTemplateData.displayHeader não utilizado foi removido. (I7f094).
  • Foi adicionado suporte ao uso de lambdas como callbacks (Ia0bbd).
  • DayNightColorProvider foi movido para o módulo de informações rápidas (I1842c, b/256934779).
  • Remove LocalColorProvider dos modelos. Os modelos agora vão usar GlanceTheme.colors (Ic15e2).
  • Remoção da nulidade de Text(style: TextStyle) (I7123b, b/237012816).
  • Cor do texto padrão em preto. Remoção da nulidade (I3072c, b/237012816).
  • Tornar o tema dinâmico ColorProviders como o próprio objeto. Tornar ResourceColorProvider interno ao módulo. (Id0e2d, b/237012816).
  • Adicione a categoria "Indefinido" a ImageSize. (I2fa39).
  • A função GlanceAppWidget.Content descontinuada foi removida (Ib05f6).
  • Adiciona o modificador como um parâmetro para AndroidRemoteViews. (I515d4).
  • Adição de GlanceAppWidget.compose para facilitar os testes de unidade (Ie9b28).

Correções de bugs

  • Adição de um widget de demonstração para fontes de texto do Glance (I5c3d7).
  • Torna AndroidRemoteViews dimensionável com o modificador.
  • Problemas com cores de tema inconsistentes foram resolvidos
  • Todos os recursos agora têm prefixos para evitar conflitos

Versão 1.0.0-alpha05

5 de outubro de 2022

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

Novos recursos

  • Adição de requestPinGlanceAppWidget a GlanceAppWidgetManager, permitindo que os apps solicitem que um usuário adicione o widget baseado em Glance à tela inicial (Ic6e47)
  • Adição de ACTION_DEBUG_UPDATE a GlanceAppWidgetReceiver para permitir que os desenvolvedores forcem a atualização do widget do adb em dispositivos e emuladores com acesso root (I94ae1)

Mudanças na API

  • Remova os botões de ação de cabeçalho nos modelos do Glance para simplificar o caso de uso (Ie4387)
  • O modelo de entidade única foi refatorado para reutilizar o design de subsistema Block (Iecd2c)
  • Modelo de lista de recursos refatorado para usar o design de blocoText/Image/Action (If0cc1)
  • Adição de um intervalo de número de prioridade para TextBlock e ImageBlock (I73100)

Correções de bugs

  • A dependência do Material3 foi removida (I28d1c)
  • Mudança para um sistema mais consistente a fim de adicionar margens e espaçamento em layouts de modelos rápidos (I29773)
  • Corrigida uma regra incorreta do Proguard que bloqueava a criação de versões reduzidas

Versão 1.0.0-alpha04

10 de agosto de 2022

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

Novos recursos

  • Foram adicionados recursos para cores de botões.
  • A anotação GlanceComposable foi adicionada para melhorar a verificação do tempo de compilação.
  • Foram adicionados recursos específicos do Glance do Wear.

Mudanças na API

  • A API Glance Gallery Data e a Condensed View foram atualizadas (Ibc7a8).
  • Foram adicionadas ButtonColors para configurar botões (Iea88d, b/236305351).
  • ColorProvider.resolve foi renomeado como ColorProvider.getColor (Ic9dfe).
  • O método copy() foi adicionado ao TextStyle (I9aef6).
  • Foi adicionada uma classe ColorProviders, que pode ser usada como parte de temas do Glance (I848b9, b/237012816).
  • Foi adicionado suporte a modelos de lista para estilos de lista e de visualização recolhida (I50cdc).
  • Foi adicionada semântica a GlanceModiier e GlanceCurvedModifier (Ifda7e).
  • A anotação GlanceComposable foi adicionada (I5dbf0).
  • Transferência de modelos do Glance para o projeto principal do Glance (I9db94).
  • ColorProvider.resolve() foi adicionado (Ife532, b/214733442).
  • Novo método para receber o GlanceId de um appWidgetId atual ou uma intent de uma atividade de configuração (Icb70c, b/230391946).
  • A anotação GlanceComposable foi adicionada (I2c21f).
  • Foram adicionadas GlanceRemoteViews para executar a composição fora de GlanceAppWidget (I18f92).
  • Remoção da cor em ProgressIndicatorDefaults (I40299).
  • O método onRun de ActionCallback foi renomeado como onAction, para fins de consistência com as APIs públicas, conforme exigido pelo feedback da avaliação da API (Icfa57).
  • Os layouts de modelos de visão geral foram convertidos para usar um mapa (I46bfd).
  • O elemento combinável RadioButton foi adicionado (I4ecce).
  • GlanceWearTiles foi adicionado para fazer a composição de blocos do Wear (Ia9f65).
  • GlanceCurvedModifier agora pode receber cliques (Iec2a0).
  • CurvedRow foi implementada como um escopo e foi criada uma DSL para adicionar elementos normais de composição e/ou curvados. curvedLine e curvedSpacer também foram adicionados, que são convertidos em ArcLine e ArcSpacer em blocos proto (Ib955b).
  • Atualizada nulidade no núcleo e na appcompat para oferecer suporte ao Tiramisu DP2 (I0cbb7).
  • Adicionado suporte a RuncallbackAction em blocos de uso rápido. No momento, apenas RunCallbackAction com o parâmetro NO tem suporte (Ide64a).

Contribuição externa

  • Atualização da API :compose:ui-ui-test (updateApi) devido à migração de test-coroutines-lib (I3366d).

Versão 1.0.0-alpha03

23 de fevereiro de 2022

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

Novos recursos

  • Definição simplificada do estado como padrão para o elemento Preferences.

Mudanças na API

  • O processamento de estado foi simplificado, tornando PreferencesGlanceStateDefinition o processamento de estado padrão. GlanceAppWidget.updateAppWidgetState foi removido e updateAppWidgetState, que usa Preferences por padrão, foi introduzido (I58963).
  • A classe TemplateText do Glance foi adicionada e o design do modelo foi atualizado (I4e146).
  • A infraestrutura de contorno foi adicionada ao modelo de forma livre (If03d6).
  • Atualizações para layouts SingleEntityTemplate (If925d).
  • LazyVerticalGrid foi adicionada (I5f442).
  • Use o ColorProvider em SingleEntityTemplate (I01ee0).
  • O nome da classe de modelo foi atualizado (I3720e).
  • Os elementos LinearProgressIndicator e CircularProgressIndicator que podem ser compostos foram adicionados (Ie116b).

Correções de bugs

  • Implementação inicial de modelos de visão geral, que define dados de "modelos de item único" e layouts de modelo de exemplo (I35837).
  • O conteúdo de blocos vai ser alinhado ao centro por padrão (I264be).
  • Correção de bug com fillMaxSize/Width/Height em glance-wear-tiles (I0a39f).

Versão 1.0.0-alpha02

26 de janeiro de 2022

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

Novos recursos

Esta versão contém o conjunto de APIs para criar blocos do Wear usando o ambiente de execução do Compose com elementos de composição otimizados para "Glanceable".

  • Declare o serviço de bloco de Wear estendendo GlanceTileService, um serviço para criar o bloco na função Content() que pode ser composta.
  • Elementos visuais que podem ser compostos de blocos do Wear: CurvedRow, CurvedText.
  • Gerencie diferentes modos de linha do tempo para o bloco definindo TimelineMode.SingleEntry e TimelineMode.TimeBoundEntries.
  • LocalTimeInterval, a composição local se refere a um intervalo de tempo específico.
  • BorderModifer é um GlanceModifier que aplica uma borda ao redor de um elemento.

Esta versão também adiciona indicadores de progresso ao AppWidget Glance.

Mudanças na API

  • Os elementos LinearProgressIndicator e CircularProgressIndicator que podem ser compostos foram adicionados (Ie116b).
  • Mudança de actionStartBroadcastReceiver para actionSendBroadcast (I7d555).
  • O contexto é transmitido ao callback onDelete GlanceAppWidget (I4c795).

Correções de bugs

  • Processamento correto de OPTIONS_APPWIDGET_SIZES, se estiver presente, mas vazio (I01f82).

Versão 1.0.0-alpha01

15 de dezembro de 2021

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

Recursos na versão inicial

  • A primeira versão do Glance inclui o primeiro conjunto de APIs para criar o AppWidget usando o Compose Runtime, com um conjunto de novos elementos que podem ser compostos otimizados para “Glanceables”.

Recursos