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
27 de agosto de 2025 1.1.1 - 1.2.0-beta01 -

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-beta01"
    // For AppWidgets support
    implementation "androidx.glance:glance-appwidget:1.2.0-beta01"

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

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-beta01")
    
    // For AppWidgets support
    implementation("androidx.glance:glance-appwidget:1.2.0-beta01")

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

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-beta01

27 de agosto de 2025

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

Correções de bugs

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 alfa (0f a 1f) para o elemento combinável Image de visão rápida e o modificador de imagem de plano de fundo. Quando não especificado, reté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 prévia do widget. Em seguida, chame GlanceAppWidgetManager.setWidgetPreview para definir a prévia. (Iced16).
  • Adição de MultiProcessGlanceAppWidget para oferecer suporte a configurações multiprocesso (Idbb90).
  • A tag experimental foi removida. Agora há suporte para lambdas (I74d98, b/299361317).
  • Permitir especificar o receptor lambda para GlanceAppWidget.runComposition (I84829)
  • Adição do parâmetro previewSize a requestPinGlanceAppWidget (I9f8f0, b/303256067).

Correções de bugs

  • Removemos o esboço manual do acesso a novas APIs da plataforma, já que isso acontece automaticamente pela modelagem de API ao usar o R8 com o AGP 7.3 ou mais recente (por exemplo, a versão 3.3 do R8) e para todos os builds ao usar o AGP 8.1 ou mais recente (por exemplo, a versão 8.1 do D8). Recomendamos que os clientes que não usam o AGP atualizem 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 desta mudança, o androidx é compilado com o protobuf 4.28.2 para resolver a 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 a 1.1.1 e resolva 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

  • Transfere o Glance para a versão estável 1.1.0.

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 prévia para o Glance. Move a versão 1.1.0 para candidata a lançamento.

Mudanças na API

  • Adiciona um parâmetro opcional ao Scaffold. (If753f).
  • Adicione parâmetros de largura e altura ao Glance @Preview. (Ibabe8)
  • Remoção da compatibilidade com prévias de blocos do Wear no Glance. (I3850a).
  • Adição da API para definir valores de peso personalizados para FontStyle. (I7390a)
  • Renomeação dos enums ImplementationMode de Viewfinder para refletir melhor as implementações subjacentes e adição de 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 jars de origem que estavam faltando 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 testes de unidade para o Glance que não exige o UI Automator. O código do Glance pode ser testado diretamente sem precisar inflar a visualização.
  • Componentes de nível superior 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

  • Adiciona uma nova função de cor widgetBackground aos temas do Glance. (Ia2ab8).
  • Adição de GlanceAppWidget.runComposition (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é o lançamento da versão 1.0. (I92523).
  • Adiciona runGlanceAppWidgetUnitTest que fornece escopo para chamar métodos em GlanceAppWidgetUnitTest, como provideComposable, para fornecer um pequeno elemento combinável isolado para teste, onNode para encontrar um elemento combinável do Glance no conteúdo fornecido. Isso permite escrever testes de unidade para funções combináveis individuais no appWidget e verificar se, com determinadas entradas, a função gera o conjunto pretendido de elementos combináveis do Glance. (I2f682).
  • Adiciona um modificador testTag na semântica para uso em testes de unidade. (I8f62f)
  • atualização TitleBar: texto e ícone podem ser coloridos individualmente. (Ia0a60)
  • Adição do componente scaffold (I8a736).
  • Adiciona o filtro hasActionRunCallbackClickAction e a declaração assertHasActionRunCallbackClickAction para testar actionRunCallack. Além disso, adiciona outras funções de variante abreviada 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).
  • Adiciona o método onCompositionError, em que os desenvolvedores podem executar código quando ocorre um erro (I9b56f).
  • Adiciona APIs de botão e ícone ao glance (I0fd6f).
  • Adiciona filtros isLinearProgressIndicator, isIndeterminateLinearProgressIndicator e isIndeterminateCircularProgressIndicator para corresponder aos indicadores de progresso. O filtro "Additional includes hasAnyDescendants" testa se um nó tem um descendente na sub-hierarquia que corresponde a um matcher específico (Ifd426).
  • Adiciona asserçõ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-alpha07

27 de agosto de 2025

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

Novos recursos

  • Os blocos do Glance para Wear foram descontinuados e serão removidos em uma versão futura. Ela será substituída pela nova biblioteca de widgets do Wear Glance.

Mudanças na API

  • Descontinuação do glance-wear-tiles (I82afd).
  • Remoção de anotações @RequiresApi(21) obsoletas (Ic4792)
  • Remoção de anotações @RequiresApi(21) obsoletas (I9103b).
  • Remove um módulo não utilizado. Não vamos continuar com os modelos. (I3fc90, b/430070874)
  • Os projetos lançados com o Kotlin 2.0 exigem o KGP 2.0.0 ou mais recente para serem consumidos (Idb6b5)
  • Correções no feedback do conselho de API (I284c8).
  • Adiciona uma nova API para colorir botões. Isso deve ser experimental até o lançamento da versão 1.0 (I92523).
  • Os arquivos de API foram atualizados para anotar a supressão de compatibilidade (I8e87a, b/287516207).
  • Os tipos protolayout agora são totalmente compatíveis com todas as APIs tile-renderer. (I428b0)
  • Mesclagem de arquivos de API públicos e experimentais para d,e,f,g-paths (I03646, b/278769092)
  • Adição da API *Defaults para Button, Checkbox, RadioButton e Switch. Ele alinha o glance mais aos padrões do Jetpack Compose. (I94828)
  • Novo módulo de modelos de visão geral (I94459)
  • Adicionamos suporte para tipos androidx.wear.protolayout ao TileRenderer (I4ac7f).
  • Mais nulidade do tipo de retorno das funções com uso oculto (Ibf7b0).
  • A anotação @JvmDefaultWithCompatibility foi adicionada (I8f206, b/251463569).
  • Adição de suporte ao uso de lambdas como callbacks (Ia0bbd).

Correções de bugs

  • Atualização das bibliotecas glance-appwidget para compileSdk 35 (I2e26b)

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

  • Mover o 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.

Move o Glance para rc01 no caminho para o lançamento estável da versão 1.0.0.

Novos recursos

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

Mudanças na API

  • Adicionado um parâmetro de chave opcional para todos os elementos que aceitam lambdas. (Id96c1, b/282445798)
  • Adição de suporte para definir o pacote ActivityOptions para actionStartActivity (I6a08d).
  • Mesclagem de arquivos de API públicos e experimentais para d,e,f,g-paths (I03646, b/278769092)
  • Não aplicável. As mudanças no arquivo da API apenas reordenam os métodos (I5fa95).
  • Adição de API para definir CoroutineContext em solicitações GlanceAppWidgetReceiver (I0a100)
  • Adicionamos uma nova API para fornecer ActivityOptions para LazyColumn e LazyVerticalGrid, que será usada em todas as ações da lista.(Id8d71)

Correções de bugs

  • Não aplicável. As mudanças no arquivo da API apenas reordenam os métodos (I5fa95).
  • Demonstração de estilo do componente de texto de rápida olhada (Ie78a4)

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.
  • Suporte a temas usando GlanceTheme , adiciona módulos glance-material e glance-material3 para oferecer suporte a temas de estilo material 2 e material 3 no Glance.
  • Compatibilidade com FontFamily adicionada às APIs de texto.
  • Mudança de GlanceAppWidget para um mecanismo de atualização baseado em sessão de 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 alinha o glance mais aos padrões do Jetpack Compose. (I94828)
  • Novo módulo de modelos de visão geral (I94459)
  • Tornando ResourceColorProvider interno ao módulo. Mudança interruptiva. Necessário porque ResourceColorProvider só deve ser usado para temas dinâmicos, evitando 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 mudou (Ia9b89)
  • Mais exceções geradas da enumeração valueOf (I818fe)
  • Atualização de GlanceAppWidget para usar provideGlance como o ponto de entrada principal. O uso de GlanceAppWidget.Content foi descontinuado (I202b5)
  • Adição de uma opção para fornecer cor de matiz para imagens (I26192, b/212418562).
  • Mais nulidade do tipo de retorno das funções com uso oculto. (Ibf7b0)
  • A anotação @JvmDefaultWithCompatibility foi adicionada (I8f206).
  • Removemos o SingleEntityTemplateData.displayHeader não utilizado. (I7f094).
  • Adição de suporte ao uso de lambdas como callbacks (Ia0bbd).
  • DayNightColorProvider foi movido para o módulo de visão rápida (I1842c, b/256934779).
  • Remove LocalColorProvider dos modelos. Os modelos agora vão usar GlanceTheme.colors (Ic15e2).
  • A nulidade foi removida de Text(style: TextStyle) (I7123b, b/237012816).
  • A cor padrão do texto agora é preta. Remoção da nulidade (I3072c, b/237012816).
  • Transformando o tema dinâmico ColorProviders em um objeto próprio. Tornando ResourceColorProvider interno ao módulo. (Id0e2d, b/237012816).
  • Adicione a categoria "Indefinida" a ImageSize. (I2fa39).
  • A função GlanceAppWidget.Content descontinuada foi removida (Ib05f6).
  • Adiciona o modificador como um parâmetro a AndroidRemoteViews. (I515d4).
  • Adicionar 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).
  • Faz com que AndroidRemoteViews possa ser dimensionado com Modifier.
  • Problemas com cores de tema inconsistentes 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