Glance
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.
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. UsecurrentCompositeKeyHashCode
. 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
a1f
) 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, chameGlanceAppWidgetManager.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
arequestPinGlanceAppWidget
(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
paracompileSdk 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
eandroidx.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
deViewfinder
foram renomeados para refletir melhor as implementações e adicionar constantes fixas paraTransformationInfo.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
- O
SharedTransitionScope
experimental agora é uma interface, não uma classe. (Iaf856, b/338415048, b/338414702).
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 emGlanceAppWidgetUnitTest
, comoprovideComposable
para fornecer um elemento combinável pequeno e isolado para teste eonNode
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çãoassertHasActionRunCallbackClickAction
para testaractionRunCallack
. 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 contrapartesassertHasXXX
. (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
eisIndeterminateCircularProgressIndicator
para corresponder aos indicadores de progresso. Inclui filtrohasAnyDescendants
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
astartActivity
. - 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
paraactionStartActivity
(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çõesGlanceAppWidgetReceiver
(I0a100). - Uma nova API foi adicionada para fornecer
ActivityOptions
paraLazyColumn
eLazyVerticalGrid
, 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ãoWorkManager
. Os usuários do Glance paraAppWidgets
agora precisam substituirGlanceAppWidget.provideGlance
em vez do métodoContent
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
paraButton
,Checkbox
,RadioButton
eSwitch
. 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 porqueResourceColorProvider
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 paraTextStyle
. (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 usarprovideGlance
como o ponto de entrada principal. O uso deGlanceAppWidget.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 usarGlanceTheme.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. TornarResourceColorProvider
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
aGlanceAppWidgetManager
, permitindo que os apps solicitem que um usuário adicione o widget baseado em Glance à tela inicial (Ic6e47) - Adição de
ACTION_DEBUG_UPDATE
aGlanceAppWidgetReceiver
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 bloco
Text/Image/Action
(If0cc1) - Adição de um intervalo de número de prioridade para
TextBlock
eImageBlock
(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 comoColorProvider.getColor
(Ic9dfe).- O método
copy()
foi adicionado aoTextStyle
(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
eGlanceCurvedModifier
(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 umappWidgetId
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 deGlanceAppWidget
(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
ecurvedSpacer
também foram adicionados, que são convertidos emArcLine
eArcSpacer
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, apenasRunCallbackAction
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 eupdateAppWidgetState
, que usaPreferences
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
emSingleEntityTemplate
(I01ee0). - O nome da classe de modelo foi atualizado (I3720e).
- Os elementos
LinearProgressIndicator
eCircularProgressIndicator
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
eTimelineMode.TimeBoundEntries
. LocalTimeInterval
, a composição local se refere a um intervalo de tempo específico.BorderModifer
é umGlanceModifier
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
eCircularProgressIndicator
que podem ser compostos foram adicionados (Ie116b). - Mudança de
actionStartBroadcastReceiver
paraactionSendBroadcast
(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
- Declare os widgets do app com GlanceAppWidget e GlanceAppWidgetReceiver.
- Crie sua IU com o conjunto inicial de elementos que podem ser compostos do Glance: Box, Row, Column, Text, Button, LazyColumn, Image e Spacer.
- Aplique modificadores aos elementos que podem ser compostos usando os métodos GlanceModifier.
- Processe interações do usuário com Ações predefinidas.
- Forneça parâmetros para uma Ação com ActionParameters.
- Gerencie diferentes modos de tamanho definindo SizeMode.Single, SizeMode.Exact ou SizeMode.responsive.
- Mantenha o estado GGGAppWidget fornecendo um GlanceStateDefinition.
- Composições locais como LocalContext, LocalState, LocalGlanceId e LocalSize.
- Interoperabilidade entre RemoteViews já existentes e o elemento combinável AndroidRemoteViews.