Resumo

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
12 de junho de 2024 1.1.0 - - -

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

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

    // 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.1

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 (link em inglês).

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 this commits.

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 o arquivo candidata a lançamento.

Mudanças na API

  • Adição de parâmetro opcional ao Scaffold. (If753f).
  • Adicione parâmetros de largura e altura ao Glance @Preview. (Ibabe8).
  • Remoção do suporte a visualizações de blocos do Wear OS. (I3850a).
  • Foi adicionada uma API para definir valores de ponderação personalizados para FontStyle (I7390a).
  • Os tipos enumerados ImplementationMode do Viewfinder foram renomeados para refletir melhor as implementações subjacentes 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 jars de origem que não estavam 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 this commits.

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 do Glance que não requer 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

  • Adição de uma nova função de cor widgetBackground aos temas do Glance. (Ia2ab8).
  • Adição de GlanceAppWidget.runComposition (I6344c, b/298066147).
  • Adição do novo componente TopBar (Ibd361).
  • Adiciona substituições ao modificador clickable. (Iacecf).
  • Adiciona uma nova API para tingir botões. Esse recurso deve ser experimental até a versão 1.0 ser lançada. (I92523).
  • Adição de runGlanceAppWidgetUnitTest, que fornece escopo para chamar métodos em GlanceAppWidgetUnitTest, como provideComposable, para fornecer um pequeno elemento combinável para teste e onNode para encontrar um elemento combinável Glance no conteúdo fornecido Isso permite programar testes de unidade para funções combináveis individuais no appWidget para verificar se, com determinadas entradas, a função gera o conjunto pretendido de elementos combináveis de visualização rápida. (I2f682).
  • Adição de um modificador testTag na semântica para uso em testes de unidade (I8f62f).
  • Atualize o texto e o ícone de TitleBar, que podem ser tonalizados individualmente. (Ia0a60).
  • Adição do componente scaffold (I8a736).
  • O filtro hasActionRunCallbackClickAction e a declaração assertHasActionRunCallbackClickAction foram adicionados para testar actionRunCallack. Além disso, adicionamos outras funções de variante abreviada para filtros de teste relacionados à ação: hasStartActivityClickAction<activityClass>(..), hasStartServiceAction<receiverClass>(..), hasSendBroadcastAction<receiverClass>(..). Adiciona variantes semelhantes para as contrapartes assertHasXXX. (Ieca63).
  • Move uma API não lançada. Mudança de um modificador de interno para público, mas restrito pela biblioteca (If2a08).
  • O método onCompositionError foi adicionado, em que os desenvolvedores podem executar o código quando ocorre um erro (I9b56f).
  • Foram adicionadas APIs de botão e iconbutton para visualização rápida (I0fd6f).
  • Adição dos filtros isLinearProgressIndicator, isIndeterminateLinearProgressIndicator e isIndeterminateCircularProgressIndicator para corresponder aos indicadores de progresso. Inclui também o filtro hasAnyDescendants para testar se um nó tem um descendente na sub-hierarquia que corresponde a um correspondente específico (Ifd426).
  • Adiciona declarações e filtros para permitir testes de ações de clique que iniciam serviços / atividades ou transmissões. Também inclui testar 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

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

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

Novos recursos

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

Mudanças na API

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

Correções de bugs

  • N/A. As mudanças no arquivo de API são apenas métodos de reordenação (I5fa95).
  • Demonstração do estilo do componente de texto do Resumo (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.
  • O suporte à aplicação de temas usando GlanceTheme, além de módulos catch-material e look-material3, para oferecer suporte a temas de estilo do Material Design 2 e Material 3 no Glance.
  • Adição de suporte a FontFamily a APIs de texto.
  • 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 acontece agora em um worker, esse é um bom lugar para carregar recursos, bancos 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 aproxima o olhar dos padrões do Jetpack Compose. (I94828).
  • Novo módulo de modelos do Glance (I94459).
  • Agora o ResourceColorProvider é interno ao módulo. Alteração interruptiva. Isso é necessário porque o ResourceColorProvider só pode ser usado em 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 mudou (Ia9b89).
  • Mais exceções geradas pelo tipo enumerado valueOf (I818fe).
  • GlanceAppWidget foi atualizado 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 tonalidade para imagens (I26192, b/212418562).
  • Mais nulidade do tipo de retorno das funções descontinuadas e ocultas. (Ibf7b0).
  • A anotação @JvmDefaultWithCompatibility foi adicionada (I8f206).
  • O SingleEntityTemplateData.displayHeader não usado foi removido. (I7f094).
  • Foi adicionado suporte ao uso de lambdas como callbacks (Ia0bbd).
  • DayNightColorProvider foi movido para o módulo de visualização (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 de texto padrão é preto. Remoção da nulidade (I3072c, b/237012816).
  • Transformando o tema dinâmico ColorProviders em um objeto próprio. Tornamos 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).
  • Adição de GlanceAppWidget.compose para facilitar o teste de unidade (Ie9b28).

Correções de bugs

  • Adição de um widget de demonstração para fontes de texto Glance (I5c3d7).
  • Torna AndroidRemoteViews redimensionável com o modificador.
  • Resolução de problemas com cores de tema inconsistentes
  • Todos os recursos agora têm o prefixo para evitar colisões

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