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 février 2024 1.0.0 - - 1.1.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.1.0-alpha01"
    // For AppWidgets support
    implementation "androidx.glance:glance-appwidget:1.1.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.1.0-alpha01")
    
    // For AppWidgets support
    implementation("androidx.glance:glance-appwidget:1.1.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.1

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 d'outil de création automatique d'UI. Vous pouvez tester directement le code Glance sans avoir à gonfler la vue.
  • Des composants de niveau supérieur pour des mises en page plus simples
  • Nouveaux modificateurs et options de thème.
  • Nouvelle API pour obtenir un flux d'éléments RemoteView à 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 composant TopBar. (Ibd361)
  • Ajoute des forçages au modificateur clickable. (Iacecf).
  • Ajout d'une API pour les boutons teintés. Elle devrait être expérimentale jusqu'à ce que la version 1.0 soit disponible. (I92523).
  • Ajout de runGlanceAppWidgetUnitTest, qui permet d'appeler des méthodes sur GlanceAppWidgetUnitTest, comme provideComposable afin de fournir un petit composable isolé à des fins de test, et onNode pour trouver un élément composable Glance dans le contenu fourni. Cela vous permet d'écrire des tests unitaires pour des fonctions modulables individuelles dans votre appWidget afin de vérifier qu'à partir de certaines entrées, la fonction génère l'ensemble d'éléments composables prévus pour l'aperçu. (I2f682).
  • Ajout d'un modificateur testTag dans la sémantique à utiliser dans les tests unitaires. (I8f62f).
  • update TitleBar : le texte et l'icône sont teintés individuellement. (Ia0a60).
  • Ajout d'un composant "scaffold". (I8a736)
  • Ajout d'un filtre hasActionRunCallbackClickAction et d'une assertion assertHasActionRunCallbackClickAction pour tester actionRunCallack. Ajout d'autres fonctions de variante abrégées pour les filtres de test liés aux actions : hasStartActivityClickAction<activityClass>(..), hasStartServiceAction<receiverClass>(..), hasSendBroadcastAction<receiverClass>(..). Ajout de variantes similaires pour leurs équivalents assertHasXXX. (Ieca63).
  • Déplace l'API non publiée. Reclassement d'un modificateur de "internal" en modificateur public, mais dont la bibliothèque est limitée. (If2a08)
  • Ajout de la méthode onCompositionError, qui permet aux développeurs d'exécuter du code lorsqu'une erreur se produit. (I9b56f)
  • Ajout des API de bouton et d'icône iconbutton à un aperçu. (I0fd6f)
  • Ajout des filtres isLinearProgressIndicator, isIndeterminateLinearProgressIndicator et isIndeterminateCircularProgressIndicator pour correspondre aux indicateurs de progression. Ajout d'un filtre hasAnyDescendants supplémentaire pour tester si un nœud a 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 des services, des activités ou des diffusions. Inclut également des tests si les éléments d'entrée sont cochés. (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

  • La version a été mise à jour après le module principal de Glance.

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

  • Migrer Glance vers 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.

Transfert de Glance vers la version rc01 en cours de passage à la version stable pour la version 1.0.0.

Nouvelles fonctionnalités

  • Ajout de paramètres clés aux lambdas d'action pour des appels d'action plus stables.
  • Ajout de la possibilité de fournir à ActvityOptions des actions 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 les lambdas. (Id96c1, b/282445798).
  • Ajout de la prise en charge de la définition du bundle ActivityOptions pour actionStartActivity. (I6a08d)
  • Fusion des fichiers API publics et expérimentaux pour d,e,f,g-paths. (I03646, b/278769092)
  • N/A. Les modifications apportées aux fichiers d'API sont de simples réorganisations des méthodes. (I5fa95)
  • Ajout d'une API permettant de définir CoroutineContext pour les requêtes GlanceAppWidgetReceiver. (I0a100)
  • Ajout d'une API pour fournir ActivityOptions pour LazyColumn et LazyVerticalGrid, qui sera utilisée pour toutes les actions de la liste.(Id8d71)

Correction de bugs

  • N/A. Les modifications apportées aux fichiers d'API sont de simples réorganisations des méthodes. (I5fa95)
  • Démonstration du style des composants 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

  • Passe la bibliothèque en version bêta.
  • Prise en charge des thèmes à l'aide de GlanceTheme et ajout des modules look-material et look-material3 pour prendre en charge les thèmes de style Material 2 et Material 3 dans Glance.
  • Prise en charge de FontFamily dans les API de texte.
  • Déplacement de GlanceAppWidget vers un mécanisme de mise à jour basé sur la session WorkManager. Les utilisateurs de Glance pour AppWidgets doivent désormais ignorer GlanceAppWidget.provideGlance au lieu de l'ancienne méthode Content. Comme cela se produit désormais dans un nœud de calcul, c'est l'endroit idéal pour charger des ressources, des bases de données ou des éléments réseau sans avoir à utiliser un nœud de calcul distinct.

Modifications apportées à l'API

  • Ajout de l'API *Defaults pour Button, Checkbox, RadioButton et Switch. Elle s'aligne sur les modèles de Jetpack Compose. (I94828).
  • Nouveau module de modèles Glance. (I94459)
  • Rendre ResourceColorProvider interne au module Modification destructive. Obligatoire, car ResourceColorProvider ne doit être utilisé que pour la thématisation dynamique. Cela permet d'éviter que certaines couleurs correspondent à des ressources dynamiques et que d'autres soient entièrement résolues. (Ib0db7).
  • Ajout de FontFamily comme option pour TextStyle. (Ic19ba, b/274179837).
  • Modification du nom du paramètre de valeur pour Enum.valueOf. (Ia9b89)
  • Plus d'exceptions générées 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 pour les images. (I26192, b/212418562)
  • Possibilité de valeur nulle de type renvoyé plus élevée pour les fonctions obsolètes ou masquées. (Ibf7b0).
  • Ajout de l'annotation @JvmDefaultWithCompatibility. (I8f206)
  • Suppression de SingleEntityTemplateData.displayHeader, qui n'était pas utilisé. (I7f094).
  • Ajout de la prise en charge de l'utilisation de lambdas comme rappels. (Ia0bbd)
  • Déplacement de DayNightColorProvider vers le module Glance. (I1842c, b/256934779)
  • Suppression de LocalColorProvider des 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 du texte par défaut : noir. Suppression de la possibilité de valeur nulle. (I3072c, b/237012816)
  • Définition du thème dynamique ColorProviders comme objet propre Rendre ResourceColorProvider interne au module (Id0e2d, b/237012816).
  • Ajoutez la catégorie "Undefined" à ImageSize. (I2fa39).
  • Suppression de la fonction GlanceAppWidget.Content obsolète. (Ib05f6)
  • Ajout d'un 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 important avec le modificateur.
  • Les problèmes liés à des couleurs de thème incohérentes ont été résolus
  • 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