Glance

Créez des mises en page pour des surfaces distantes à l'aide d'une API semblable à Jetpack Compose.
Dernière mise à jour Version stable Version finale Version bêta Version alpha
7 mai 2025 1.1.1 - - 1.2.0-alpha01

Déclarer des dépendances

Pour ajouter une dépendance à Glance, vous devez ajouter le dépôt Maven de Google à votre projet. Pour en savoir plus, consultez la section Dépôt Maven de Google.

Ajoutez les dépendances correspondant aux artefacts dont vous avez besoin dans le fichier build.gradle de votre application ou de votre module :

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"
    }
}

Pour en savoir plus sur les dépendances, consultez Ajouter des dépendances de compilation.

Commentaires

Vos commentaires nous aident à améliorer Jetpack. N'hésitez pas à nous contacter si vous découvrez de nouveaux problèmes ou si vous avez des idées pour améliorer cette bibliothèque. Veuillez consulter les problèmes existants de cette bibliothèque avant d'en signaler un nouveau. Vous pouvez ajouter votre vote à un problème existant en cliquant sur le bouton en forme d'étoile.

Signaler un nouveau problème

Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.

Version 1.2

Version 1.2.0-alpha01

7 mai 2025

Publication d'androidx.glance:glance-*:1.2.0-alpha01. La version 1.2.0-alpha01 contient ces commits.

Modifications apportées à l'API

  • currentCompositeKeyHash est désormais obsolète. Utilisez currentCompositeKeyHashCode à la place. L'API de remplacement encode le même hachage avec plus de bits, ce qui réduit de manière exponentielle la probabilité que deux groupes aléatoires sans rapport dans la hiérarchie de composition aient la même clé de hachage.(I4cb6a, b/177562901)
  • Ajoute une nouvelle API pour spécifier l'alpha (0f à 1f) pour le composable Image de la vue d'aperçu et le modificateur d'image de fond. Si cette valeur n'est pas spécifiée, l'alpha de l'image source est conservé. (I8ad05)
  • Ajout d'API Glance pour les aperçus générés. Ignorez GlanceAppWidget.providePreview pour fournir une mise en page d'aperçu pour votre widget. Appelez ensuite GlanceAppWidgetManager.setWidgetPreview pour définir votre aperçu. (Iced16)
  • Ajout de MultiProcessGlanceAppWidget pour prendre en charge les configurations multiprocessus (Idbb90)
  • Suppression de la balise expérimentale. Nous prenons désormais en charge les lambdas. (I74d98, b/299361317)
  • Autorisation de la spécification du récepteur lambda pour GlanceAppWidget.runComposition (I84829)
  • Ajout du paramètre previewSize à requestPinGlanceAppWidget (I9f8f0, b/303256067)

Correction de bugs

  • Suppression de la description manuelle de l'accès aux nouvelles API de la plate-forme, car cela se produit automatiquement via la modélisation d'API lorsque vous utilisez R8 avec AGP 7.3 ou version ultérieure (par exemple, R8 version 3.3) et pour tous les builds lorsque vous utilisez AGP 8.1 ou version ultérieure (par exemple, D8 version 8.1). Les clients qui n'utilisent pas AGP sont invités à passer à la version 8.1 de D8 ou ultérieure. Consultez cet article pour en savoir plus. (If6b4c, b/345472586)
  • Mise à jour des bibliothèques glance-appwidget vers compileSdk 35 (I2e26b)

Version 1.1

Version 1.1.1

16 octobre 2024

Publication d'androidx.glance:glance-*:1.1.1. La version 1.1.1 contient ces commits.

Correctifs de sécurité

  • Depuis cette modification, androidx compile avec protobuf 4.28.2 afin de corriger CVE-2024-7254. Mettez à niveau votre dépendance vers la version 1.1.1 de androidx.glance:glance-appwidget-proto et androidx.glance:glance-appwidget-external-protobuf pour atténuer le risque de faille.

Version 1.1.0

12 juin 2024

Publication d'androidx.glance:glance-*:1.1.0. La version 1.1.0 contient ces commits.

Modifications importantes depuis la version 1.0.0

  • Déplacement de Glance vers la version stable 1.1.0.

Version 1.1.0-rc01

14 mai 2024

Publication d'androidx.glance:glance-*:1.1.0-rc01. La version 1.1.0-rc01 contient ces commits.

Nouvelles fonctionnalités

  • Ajout de paramètres de largeur et de hauteur aux annotations Preview pour Glance. Déplace la version 1.1.0 vers la version candidate.

Modifications apportées à l'API

  • Ajoute un paramètre facultatif à Scaffold. (If753f)
  • Ajout des paramètres de largeur et de hauteur à @Preview Glance. (Ibabe8)
  • Suppression de la prise en charge des aperçus de cartes Wear Glance. (I3850a)
  • Ajout d'une API permettant de définir des valeurs de poids personnalisées pour FontStyle. (I7390a)
  • Modification du nom des énumérations ImplementationMode de Viewfinder pour mieux refléter les implémentations sous-jacentes et ajout de constantes fixes pour TransformationInfo.sourceRotation (Ic6149)

Correction de bugs

  • Correction d'un bug qui entraînait des problèmes de rendu pour ViewGroups en mode rétrocompatibilité. (I8de92)

Contribution externe

Version 1.1.0-beta02

17 avril 2024

Publication d'androidx.glance:glance-*:1.1.0-beta02. Cette version contient des fichiers JAR sources qui étaient absents de la version précédente.

Version 1.1.0-beta01

3 avril 2024

Publication d'androidx.glance:glance-*:1.1.0-beta01. La version 1.1.0-beta01 contient ces commits.

Version 1.1.0-alpha01

7 février 2024

Publication d'androidx.glance:glance-*:1.1.0-alpha01. Liste des commits de la version 1.1.0-alpha01

Nouvelles fonctionnalités

  • Bibliothèque de tests unitaires pour Glance qui ne nécessite pas UI Automator. Le code de la vue d'aperçu peut être testé directement sans avoir à gonfler la vue.
  • Composants de niveau supérieur pour des mises en page plus simples.
  • Nouvelles options de modificateurs et de thèmes.
  • Nouvelle API permettant d'obtenir un flux de RemoteViews à partir d'une composition, runComposition

Modifications apportées à l'API

  • Ajout d'un nouveau rôle de couleur widgetBackground aux thèmes Glance. (Ia2ab8)
  • Ajout de GlanceAppWidget.runComposition (I6344c, b/298066147)
  • Ajout d'un nouveau composant TopBar (Ibd361)
  • Ajoute des forçages au modificateur clickable. (Iacecf)
  • Ajout d'une nouvelle API pour la teinte des boutons. Cette fonctionnalité doit rester expérimentale jusqu'à la sortie de la version 1.0. (I92523)
  • Ajoute runGlanceAppWidgetUnitTest qui fournit un champ d'application pour appeler des méthodes sur GlanceAppWidgetUnitTest, telles que provideComposable pour fournir un petit composable isolé à des fins de test, onNode pour trouver un élément composable Glance dans le contenu fourni. Vous pouvez ainsi écrire des tests unitaires pour chaque fonction composable de votre appWidget afin de vérifier que, pour certaines entrées, la fonction produit l'ensemble d'éléments composables de la vue d'aperçu prévu. (I2f682)
  • Ajoute un modificateur testTag dans les sémantiques à utiliser dans les tests unitaires. (I8f62f)
  • Mise à jour de TitleBar : le texte et l'icône peuvent être teintés individuellement. (Ia0a60)
  • Ajout du composant Scaffold (I8a736)
  • Ajoute un filtre hasActionRunCallbackClickAction et une assertion assertHasActionRunCallbackClickAction pour tester actionRunCallack. Ajoute également des fonctions de variante abrégées supplémentaires pour les filtres de test liés aux actions : hasStartActivityClickAction<activityClass>(..), hasStartServiceAction<receiverClass>(..) et hasSendBroadcastAction<receiverClass>(..). Ajoute des variantes similaires à leurs équivalents assertHasXXX. (Ieca63)
  • Déplace l'API non publiée. Modification d'un modificateur d'interne à public, mais limité à la bibliothèque (If2a08)
  • Ajout de la méthode onCompositionError permettant aux développeurs d'exécuter du code en cas d'erreur (I9b56f)
  • Ajout des API button et iconbutton à la vue d'ensemble (I0fd6f)
  • Ajoute des filtres isLinearProgressIndicator, isIndeterminateLinearProgressIndicator et isIndeterminateCircularProgressIndicator pour faire correspondre les indicateurs de progression. Inclut un filtre hasAnyDescendants supplémentaire pour vérifier si un nœud possède un descendant dans sa sous-hiérarchie qui correspond à un outil de mise en correspondance spécifique (Ifd426)
  • Ajoute des assertions et des filtres pour permettre de tester les actions de clic qui lancent un service / une activité ou des diffusions. Inclut également le test de vérification des éléments de saisie. (I3041c)

Version 1.0.0

Version 1.0.0-alpha06

7 février 2024

Publication d'androidx.glance:glance-appwidget-preview:1.0.0-alpha06 et d'androidx.glance:glance-preview:1.0.0-alpha06. Liste des commits de la version 1.0.0-alpha06

Nouvelles fonctionnalités

  • Version mise à jour pour suivre le module Glance principal.

Version 1.0.0

6 septembre 2023

Publication d'androidx.glance:glance-*:1.0.0. Liste des commits de la version 1.0.0

Principales fonctionnalités de la version 1.0.0

  • Passage de Glance à la version stable 1.0.0

Version 1.0.0-rc01

26 juillet 2023

Publication d'androidx.glance:glance-*:1.0.0-rc01. Liste des commits de la version 1.0.0-rc01.

Déplace Glance vers la version rc01 en vue de la version stable 1.0.0.

Nouvelles fonctionnalités

  • Ajoute des paramètres clés aux lambdas d'action pour une invocation d'action plus stable.
  • Ajout de la possibilité de fournir des actions ActvityOptions à startActivity.
  • Prise en charge d'Android 14

Modifications apportées à l'API

  • Ajout d'un paramètre de clé facultatif pour tous les éléments qui acceptent des lambdas. (Id96c1, b/282445798)
  • Ajout de la possibilité de définir un groupe ActivityOptions pour actionStartActivity (I6a08d).
  • Fusion des fichiers d'API publics et expérimentaux pour les chemins d,e,f et g. (I03646, b/278769092)
  • N/A, les modifications apportées aux fichiers d'API ne sont que des méthodes de réorganisation (I5fa95)
  • Ajout d'une API pour définir CoroutineContext pour les requêtes GlanceAppWidgetReceiver (I0a100)
  • Ajout d'une nouvelle API pour fournir ActivityOptions pour LazyColumn et LazyVerticalGrid, qui sera utilisé pour toutes les actions de la liste.(Id8d71)

Correction de bugs

  • N/A, les modifications apportées aux fichiers d'API ne sont que des méthodes de réorganisation (I5fa95)
  • Démonstration du style du composant de texte Glance (Ie78a4)

Version 1.0.0-beta01

10 mai 2023

Publication d'androidx.glance:glance-*:1.0.0-beta01. Liste des commits de la version 1.0.0-beta01

Nouvelles fonctionnalités

  • Déplace la bibliothèque en version bêta.
  • Prise en charge de la thématisation à l'aide de GlanceTheme. Ajout des modules glance-material et glance-material3 pour prendre en charge les thèmes de style Material 2 et Material 3 dans Glance.
  • Prise en charge de FontFamily ajoutée aux API de texte.
  • GlanceAppWidget a été déplacé vers un mécanisme de mise à jour basé sur une session WorkManager. Les utilisateurs de Glance pour AppWidgets doivent désormais remplacer GlanceAppWidget.provideGlance au lieu de l'ancienne méthode Content. Comme cela se produit désormais dans un worker, c'est un bon endroit pour charger des ressources, des éléments de base de données ou de réseau sans avoir à disposer d'un worker distinct.

Modifications apportées à l'API

  • Ajout de l'API *Defaults pour Button, Checkbox, RadioButton et Switch. Il rapproche le coup d'œil des modèles de Jetpack Compose. (I94828)
  • Nouveau module de modèles Glance (I94459)
  • Rendre ResourceColorProvider interne au module. Modification destructive. Nécessaire, car ResourceColorProvider ne doit être utilisé que pour la thématisation dynamique afin d'éviter que certaines couleurs soient des ressources dynamiques et d'autres entièrement résolues. (Ib0db7)
  • Ajoute FontFamily comme option pour TextStyle. (Ic19ba, b/274179837)
  • Modification du nom du paramètre de valeur pour Enum.valueOf (Ia9b89)
  • Davantage d'exceptions émises par l'énumération valueOf (I818fe)
  • Mise à jour de GlanceAppWidget pour utiliser provideGlance comme point d'entrée principal. GlanceAppWidget.Content est désormais obsolète. (I202b5)
  • Ajout d'une option permettant de fournir une couleur de teinte pour les images (I26192, b/212418562).
  • Possibilité de valeur nulle de type renvoyé accrue pour les fonctions obsolètes ou masquées. (Ibf7b0)
  • Ajout de l'annotation @JvmDefaultWithCompatibility. (I8f206)
  • Suppression de l'SingleEntityTemplateData.displayHeader inutilisé. (I7f094)
  • Ajout de la possibilité d'utiliser des lambdas comme rappels (Ia0bbd)
  • Déplacement de DayNightColorProvider vers le module Glance. (I1842c, b/256934779)
  • Supprime LocalColorProvider de "Modèles". Les modèles utiliseront désormais GlanceTheme.colors. (Ic15e2)
  • Suppression de la possibilité de valeur nulle de Text(style: TextStyle) (I7123b, b/237012816)
  • Couleur de texte par défaut définie sur noir. Suppression de la possibilité de valeur nulle (I3072c, b/237012816)
  • Faire du thème dynamique ColorProviders son propre objet. Rendre ResourceColorProvider interne au module. (Id0e2d, b/237012816)
  • Ajoutez la catégorie "Non définie" à ImageSize. (I2fa39)
  • Suppression de la fonction GlanceAppWidget.Content obsolète (Ib05f6)
  • Ajoute le modificateur en tant que paramètre à AndroidRemoteViews. (I515d4)
  • Ajout de GlanceAppWidget.compose pour faciliter les tests unitaires (Ie9b28)

Correction de bugs

  • Ajout d'un widget de démonstration pour les polices de texte Glance. (I5c3d7)
  • Rend AndroidRemoteViews ajustable avec le modificateur.
  • Résolution des problèmes liés aux couleurs de thème incohérentes
  • Toutes les ressources sont désormais préfixées pour éviter les conflits

Version 1.0.0-alpha05

5 octobre 2022

Publication d'androidx.glance:glance:1.0.0-alpha05, androidx.glance:glance-appwidget:1.0.0-alpha05 et androidx.glance:glance-wear-tiles:1.0.0-alpha05. Liste des commits de la version 1.0.0-alpha05

Nouvelles fonctionnalités

  • Ajout de requestPinGlanceAppWidget à GlanceAppWidgetManager, ce qui permet aux applications d'inviter un utilisateur à ajouter son widget basé sur Glance à son écran d'accueil. (Ic6e47)
  • Ajout de ACTION_DEBUG_UPDATE à GlanceAppWidgetReceiver pour permettre aux développeurs de forcer la mise à jour de leur widget depuis adb sur les appareils en mode root et les émulateurs. (I94ae1)

Modifications apportées à l'API

  • Pour simplifier le cas d'utilisation, supprimez les boutons d'action d'en-tête dans les modèles Glance. (Ie4387)
  • Refactorisation du modèle d'entité unique pour qu'il réutilise la conception du sous-système de blocs. (Iecd2c)
  • Refactorisation du modèle de liste de Glance pour qu'il utilise la conception de blocs Text/Image/Action. (If0cc1)
  • Ajout d'une plage de numéros de priorité pour TextBlock et ImageBlock. (I73100)

Correction de bugs

  • Suppression de la dépendance Material3. (I28d1c)
  • Adoption d'un système plus cohérent pour ajouter des marges et des espaces dans les mises en page de modèles de Glance. (I29773)
  • Correction d'une règle ProGuard incorrecte qui empêchait la création de versions réduites.

Version 1.0.0-alpha04

10 août 2022

Publication d'androidx.glance:glance:1.0.0-alpha04, d'androidx.glance:glance-appwidget:1.0.0-alpha04 et d'androidx.glance:glance-wear-tiles:1.0.0-alpha04. Liste des commits de la version 1.0.0-alpha04

Nouvelles fonctionnalités

  • Ajout de fonctionnalités de coloration des boutons
  • Ajout de l'annotation GlanceComposable pour une meilleure vérification de la durée de compilation
  • Ajout de fonctionnalités Glance pour Wear

Modifications apportées à l'API

  • Mise à jour de l'API Data Gallery Data et de la vue condensée. (Ibc7a8)
  • Ajout de ButtonColors pour la configuration des boutons. (Iea88d, b/236305351)
  • ColorProvider.resolve a été renommé ColorProvider.getColor. (Ic9dfe)
  • Ajout de la méthode copy() à TextStyle. (I9aef6)
  • Ajout d'une classe ColorProviders qui peut être utilisée dans les thèmes de Glance. (I848b9, b/237012816)
  • Ajout de la compatibilité du modèle de liste avec les styles de liste et la vue réduite. (I50cdc)
  • Ajout d'informations sémantiques à GlanceModiier et GlanceCurvedModifier. (Ifda7e)
  • Ajout d'une annotation GlanceComposable. (I5dbf0)
  • Déplacement des modèles Glance dans le projet Glance principal. (I9db94)
  • Ajout de ColorProvider.resolve(). (Ife532, b/214733442)
  • Ajout d'une méthode pour obtenir GlanceId à partir d'un appWidgetId existant, ou un intent à partir d'une activité de configuration. (Icb70c, b/230391946)
  • Ajout d'une annotation GlanceComposable. (I2c21f)
  • Ajout de GlanceRemoteViews pour exécuter la composition en dehors de GlanceAppWidget. (I18f92)
  • Suppression de la couleur en ProgressIndicatorDefaults. (I40299)
  • La méthode "onRun" de ActionCallback a été renommée en "onAction", pour assurer la cohérence avec les API publiques, conformément aux commentaires sur l'examen de l'API. (Icfa57)
  • Conversion des mises en page de modèles Glance pour utiliser une carte. (I46bfd)
  • Ajout du composable RadioButton. (I4ecce)
  • Ajout de GlanceWearTiles pour la composition des cartes Wear. (Ia9f65)
  • Ajout d'un élément cliquable à GlanceCurvedModifier. (Iec2a0)
  • Implémentation de CurvedRow en tant que champ d'application et création d'un DSL pour ajouter des éléments composables et/ou incurvés normaux. Ajout des curvedLine et curvedSpacer, traduits en ArcLine et ArcSpacer dans des cartes proto. (Ib955b)
  • Mise à jour de la possibilité de valeur nulle dans core et appcompat pour assurer la correspondance avec Tiramisu DP2. (I0cbb7)
  • Ajout de la prise en charge de RuncallbackAction dans les glance-wear-tiles, uniquement RunCallbackAction avec le paramètre "NO" pour le moment. (Ide64a)

Contribution externe

  • Mise à jour de l'API :compose:ui:ui-test (updateApi) suite à la migration de test-coroutines-lib. (I3366d)

Version 1.0.0-alpha03

23 février 2022

Publication d'androidx.glance:glance-*:1.0.0-alpha03. Liste des commits de la version 1.0.0-alpha03

Nouvelles fonctionnalités

  • Simplification de la définition d'un état par défaut dans les Préférences.

Modifications apportées à l'API

  • Simplification de la gestion de l'état (PreferencesGlanceStateDefinition défini comme gestion de l'état par défaut). Suppression de GlanceAppWidget.updateAppWidgetState et ajout de updateAppWidgetState qui utilise Preferences par défaut. (I58963)
  • Ajout d'une classe TemplateText pour Glance et mise à jour la conception du modèle. (I4e146)
  • Ajout l'infrastructure des contours pour le modèle de format libre. (If03d6)
  • Mises à jour apportées à la mise en page SingleEntityTemplate. (If925d)
  • Ajout de LazyVerticalGrid. (I5f442)
  • Utilisation de ColorProvider sur SingleEntityTemplate. (I01ee0)
  • Mise à jour du nom de classe du modèle. (I3720e)
  • Ajout des composables LinearProgressIndicator et CircularProgressIndicator. (Ie116b)

Correction de bugs

  • Implémentation des modèles initiaux de Glance, définition des données du modèle "Single Item" et de la mise en page du modèle d'exemple. (I35837)
  • L'alignement par défaut du contenu des cartes a été défini sur le centre. (I264be)
  • Correction de bug avec fillMaxSize/Width/Height dans glance-wear-tiles. (I0a39f)

Version 1.0.0-alpha02

26 janvier 2022

Publication d'androidx.glance:glance-*:1.0.0-alpha02. Liste des commits de la version 1.0.0-alpha02

Nouvelles fonctionnalités

Cette version contient un ensemble d'API permettant de créer des cartes Wear à l'aide de l'environnement d'exécution de Compose, avec des composables optimisés pour le système de widgets "Glanceable".

  • Déclarez votre service de cartes Wear en étendant GlanceTileService, un service permettant de créer votre carte dans la fonction composable Content().
  • Ajout de composables Glance pour les cartes Wear : CurvedRow et CurvedText.
  • Gestion de différents modes de chronologie pour les cartes en définissant TimelineMode.SingleEntry et TimelineMode.TimeBoundEntries.
  • LocalTimeInterval, la composition locale fait référence à un intervalle de temps spécifique.
  • BorderModifer est un élément GlanceModifier qui applique une bordure autour d'un élément.

Cette version ajoute également des indicateurs de progression à AppWidget Glance.

Modifications apportées à l'API

  • Ajout des composables LinearProgressIndicator et CircularProgressIndicator. (Ie116b)
  • actionStartBroadcastReceiver est remplacé par actionSendBroadcast. (I7d555)
  • Transmission du contexte à un rappel GlanceAppWidget onDelete. (I4c795)

Correction de bugs

  • OPTIONS_APPWIDGET_SIZES fonctionne correctement si présent, mais vide. (I01f82)

Version 1.0.0-alpha01

15 décembre 2021

Publication de androidx.glance:glance:1.0.0-alpha01, androidx.glance:glance-appwidget:1.0.0-alpha01 et androidx.glance:glance-appwidget-proto:1.0.0-alpha01. Liste des commits de la version 1.0.0-alpha01

Fonctionnalités de la version initiale

  • La première version de Glance comprend le premier ensemble d'API permettant de créer des widgets AppWidget à l'aide de l'environnement d'exécution Compose, avec un ensemble de nouveaux composables optimisés pour le système de widgets "Glanceables".

Fonctionnalités