wear protolayout

  
Cette bibliothèque permet de définir des mises en page d'UI et des expressions non liées à l'UI à afficher ou à évaluer sur des surfaces distantes.
Dernière mise à jour Version stable Version finale Version bêta Version alpha
6 mars 2024 1.1.0 - - 1.2.0-alpha01

Déclarer des dépendances

Pour ajouter une dépendance sur wear-protolayout, 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 {
    // Use to implement support for Wear ProtoLayout Expressions
    implementation "androidx.wear.protolayout:protolayout-expression:1.2.0-alpha01"

    // Use to implement support for Wear ProtoLayout
    implementation "androidx.wear.protolayout:protolayout:1.2.0-alpha01"

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation "androidx.wear.protolayout:protolayout-material:1.2.0-alpha01"
}

Kotlin

dependencies {
    // Use to implement support for Wear ProtoLayout Expressions
    implementation("androidx.wear.protolayout:protolayout-expression:1.2.0-alpha01")

    // Use to implement support for Wear ProtoLayout
    implementation("androidx.wear.protolayout:protolayout:1.2.0-alpha01")

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation("androidx.wear.protolayout:protolayout-material:1.2.0-alpha01")
}

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

6 mars 2024

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

Nouvelles fonctionnalités

  • Il est désormais possible d'ajouter ArcDirection (Clockwise, Counterclockwise ou Normal) aux éléments ProtoLayout Arc. L'ajout de ce comportement à Arc, ArcLine ou ArcText corrigera leur comportement dans les mises en page de droite à gauche. (I90699).
  • EdgeContentLayout a été mis à jour avec un nouveau setter setResponsiveContentInsetEnabled pour un meilleur alignement avec les consignes relatives à l'expérience utilisateur, la cohérence dans les cartes en plaçant l'étiquette principale à l'endroit fixe en haut et l'encart responsif pour les étiquettes. (I60175).
  • Nous avons ajouté PrimaryLayout.setResponsiveContentInsetEnabled, qui ajoute un encart responsif au libellé principal, au libellé secondaire et au chip inférieur dans cette mise en page, pour éviter que le contenu ne s'affiche sur le bord de l'écran. (I0c457).
  • Ajout d'une méthode permettant de supprimer les marges extérieures de CircularProgressIndicator afin de pouvoir l'utiliser comme composant plus petit. (I55c06).

Modifications apportées à l'API

  • Le moteur de rendu des cartes exclut désormais la marge intérieure de la police sur tous les éléments de texte par défaut, sans possibilité de l'inclure. (I3e300).

Correction de bugs

  • Résolution du problème d'alignement du texte lorsque la taille des points de suspension, l'espacement des lettres et l'alignement au centre étaient utilisés pour du texte. (I716c7).
  • Ajout d'une solution de contournement pour un problème de dessin en forme d'arc skia. (I08f09).
  • Correction de l'orientation de dessin ArcLine pour les mises en page de droite à gauche. (I6c141).

Version 1.1

Version 1.1.0

7 février 2024

Publication d'androidx.wear.protolayout:protolayout-*:1.1.0. Liste des commits de la version 1.1.0

Modifications importantes depuis la version 1.0.0

  • Prise en charge du dégradé et meilleure représentation des longueurs supérieures à 360 degrés dans ArcLine.
  • La mise en forme de la date et de l'heure accepte différents fuseaux horaires pour les types de données dynamiques.
  • Amélioration des options de dimensionnement automatique et d'ellipse du texte pour traiter le texte tronqué.
  • L'espace vide prend en charge les dimensions post-expansion avec une pondération facultative.
  • Annotation des exigences de version de schéma dans toutes les API ProtoLayout.
  • Zone cible étendue à n'importe quel élément Clickable jusqu'à 48 dp x 48 dp, pour répondre aux exigences d'accessibilité.
  • La marge intérieure de la police est désactivée par défaut. Il s'agit du seul comportement pour tous les éléments textuels et les composants Material qui contiennent du texte.

Autres modifications

Version 1.1.0-rc01

24 janvier 2024

Publication d'androidx.wear.protolayout:protolayout-*:1.1.0-rc01. Liste des commits de la version 1.1.0-rc01

Correction de bugs

  • PlatformTimeUpdateNotifierImpl s'affiche immédiatement après l'activation de la mise à jour. (I77145).
  • Correction de CircularProgressIndicator pour les mises en page de droite à gauche. À partir de maintenant, il ira dans le sens des aiguilles d'une montre dans tous les cas. (I95ee3).
  • Ajout d'une solution de contournement pour un problème de dessin en forme d'arc skia. (I08f09).

Version 1.1.0-beta01

10 janvier 2024

Publication d'androidx.wear.protolayout:protolayout-*:1.1.0-beta01. Liste des commits de la version 1.1.0-beta01

Nouvelles fonctionnalités

La version 1.1.0-beta01 de Wear ProtoLayout indique que cette version de la bibliothèque est complète et que l'API est verrouillée (sauf lorsqu'elle est marquée comme expérimentale). Wear ProtoLayout 1.1 inclut les nouvelles fonctionnalités et API suivantes:

  • ArcLine prend désormais en charge le dégradé en ajoutant Brush avec SweepGradient et en ajoutant une ombre sur le cap pour mieux représenter la longueur supérieure à 360 degrés, en ajoutant Shadow au StrokeCap existant.
  • DynamicInstant est compatible avec la mise en forme de la date et de l'heure par zones. DynamicInstant et DynamicDuration peuvent être utilisés comme types de données d'état ou de plate-forme.
  • Fonctionnalité de dimensionnement automatique permettant de définir plusieurs tailles sur FontStyle.setSizes. La taille du texte s'adapte automatiquement à l'espace qu'elle contient dans le parent. En outre, nous avons amélioré les options d'elliptique pour le texte qui dépasse en ajoutant TEXT_OVERFLOW_ELLIPSIZE et en abandonnant TEXT_OVERFLOW_ELLIPSIZE_END.
  • Spacer accepte désormais les dimensions agrandies avec une pondération facultative. Pour compiler ExpandedDimensionProp, nous avons ajouté une méthode d'assistance DimensionBuilders.weight.
  • Prise en charge du masquage et de l'affichage dynamiques des éléments de mise en page avec Modifier.visible. Cela inclut l'utilisation de valeurs dynamiques dans BoolProp.
  • Toutes les API ProtoLayout disposent désormais d'une annotation d'exigence de version de schéma. Vous pouvez vérifier la version avant d'appeler une API plus récente.
  • La zone cible de chaque élément comportant Clickable est désormais étendue à au moins 48 x 48 dans le moteur de rendu afin de mieux répondre aux exigences d'accessibilité.
  • Suite aux autres composants Material et aux initiatives Compose, nous avons désormais désactivé la marge intérieure de la police par défaut sur tous les éléments Text. En outre, AndroidTextStyle et les setters associés ont été supprimés de l'API publique, avec les corrections de bugs suivantes:
  • Ajout d'un setter pour positionner le contenu en périphérie dans EdgeContentLayout afin qu'il puisse être positionné avant d'autres contenus.
  • L'exception génère systématiquement une exception lorsque vous rencontrez une valeur d'énumération non reconnue.
  • Invalide le résultat d'une expression lorsqu'elle génère une valeur numérique non valide (NaN ou infinie) ou génère une erreur ArithmeticException.

Modifications apportées à l'API

  • Mises à jour de l'API SweepGradient pour permettre l'acceptation des couleurs ou de ColorStops dans le constructeur. (I6676f).

Correction de bugs

  • Ajout d'une API restreinte et de la prise en charge du moteur de rendu pour définir la direction dans laquelle les éléments d'arc sont dessinés. (Idef5a).
  • RoundMode est défini par défaut sur Floor dans FloatToInt32Node lorsqu'il n'est pas spécifié. Le nœud génère quand même une exception si le RoundMode fourni n'est pas reconnu. (I1b2d8).

Version 1.1.0-alpha04

13 décembre 2023

Publication d'androidx.wear.protolayout:protolayout-*:1.1.0-alpha04. Liste des commits de la version 1.1.0-alpha04

Nouvelles fonctionnalités

  • La classe VersionInfo n'implémente pas l'interface Comparable. (I8d13c).
  • Le moteur de rendu est désormais compatible avec l'option TEXT_OVERFLOW_ELLIPSIZE. (I7f085).

Modifications apportées à l'API

  • L'option de dépassement de texte TEXT_OVERFLOW_ELLIPSIZE_END est désormais obsolète. Veuillez utiliser la nouvelle API TEXT_OVERFLOW_ELLIPSIZE avec un comportement très similaire. (I822d8).
  • Suite à d'autres initiatives de composants Material et de Compose, nous avons désormais désactivé la marge intérieure de la police par défaut pour tous les éléments de texte. En outre, AndroidTextStyle et les setters associés ont été supprimés de l'API publique. (I79094, Ib0b03, I32959, Iaf7d5, Ifa298, I0a4ae, Ida9d3)
  • Remplacement de Modifier.hidden par Modifier.visible. (I56902)
  • Mise à jour de FontStyle#setSizes, qui accepte désormais les arguments int au lieu des arguments SpProp. (I02b37).

Correction de bugs

  • Générez une exception lorsque vous rencontrez une valeur d'énumération non définie ou non reconnue. (I9d2cf).
  • Refactorisation de DynamicTypeBindingRequest. (I27b57).
  • Invalide le résultat d'une expression lorsqu'elle génère une valeur numérique non valide (NaN ou infinie) ou génère une erreur ArithmeticException. (I681ae).

Version 1.1.0-alpha03

29 novembre 2023

Publication d'androidx.wear.protolayout:protolayout-*:1.1.0-alpha03. Liste des commits de la version 1.1.0-alpha03

Nouvelles fonctionnalités

  • Ajout d'une prise en charge expérimentale pour masquer/afficher dynamiquement des éléments de mise en page. (I64a78)
  • Ajout de la prise en charge des valeurs dynamiques à BoolProp. (I2fe96)
  • Ajout d'une annotation d'exigence de version de schéma aux API ProtoLayout. (I0f03c)
  • Extension de l'API avec la nouvelle option dans TextOverflow permettant d'insérer des points de suspension dans le texte dans un conteneur parent fixe, même lorsque le nombre maximal de lignes n'est pas atteint (mais que l'espace est insuffisant pour le texte). (I110a9).
  • Ajout de la méthode d'assistance DimensionBuilders.weight pour compiler ExpandedDimensionProp avec une pondération. (I4f72b).
  • DynamicInstant et DynamicDuration peuvent être utilisés comme types de données d'état ou de plate-forme. (I6819f).

Modifications apportées à l'API

  • Mise à jour de l'API pour masquer DynamicZonedDateTime et déplacer toutes ses opérations vers DyanamicInstant. (I34b94)
  • L'espace vide prend désormais en charge les dimensions développées pour la largeur et la hauteur. (Ie7c94).
  • Prise en charge de l'extension de la zone cible de clic dans le moteur de rendu. (I39c79)

Version 1.1.0-alpha02

15 novembre 2023

Publication d'androidx.wear.protolayout:protolayout-*:1.1.0-alpha02. Liste des commits de la version 1.1.0-alpha02

Nouvelles fonctionnalités

  • Ajout d'un champ ArcLine StrokeCap Shadow à l'API. (I830ec).
  • Extension de l'API afin de pouvoir spécifier la largeur ou la hauteur de l'espace à développer. (I757ca).
  • Nous avons ajouté une API expérimentale pour adapter automatiquement la taille du texte en fonction de l'espace qu'il contient à l'intérieur du parent. (Ibbe63).
  • Prise en charge de la taille minimale cliquable (I178e3)
  • Ajout de la prise en charge du moteur de rendu pour StrokeCap Shadow. (I48b17).
  • Ajout de la prise en charge du moteur de rendu pour le gradient de balayage dans ArcLine. (I4d5bb).

Version 1.1.0-alpha01

18 octobre 2023

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

Nouvelles fonctionnalités

  • Ajout d'une option de pinceau à Arcline, avec la prise en charge de SweepGradient. (Ie7ce3).
  • Ajout de la prise en charge de la mise en forme de la date et de l'heure par zones. (Ibfae0).
  • Ajout de protos et de wrappers Java requis pour la mise en forme de la date et de l'heure par zones. (I97126).
  • Ajout de getters pour lire la valeur stockée dans un DynamicDataValue. (Ie6cea).
  • Ajout d'un setter pour positionner le contenu en périphérie dans EdgeContentLayout afin qu'il puisse être positionné avant d'autres contenus. (Ie8e8a).

Correction de bugs

  • Une expression comportant plusieurs enregistrements de source de données n'était pas mise à jour immédiatement. Ce problème a été résolu. (I8e1a8).
  • Correction d'un bug pour centrer l'élément racine lors des mises à jour des différences. (Ie48f7).
  • Les valeurs de contrainte de mise en page non définies (ou vides) ne seront plus ignorées. (Ibc785).
  • Réduction du délai entre l'affichage d'une mise en page et l'initialisation de ses nœuds de pipeline. (I38d4e).

Version 1.0

Version 1.0.0

9 août 2023

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

Principales fonctionnalités de la version 1.0.0

La bibliothèque ProtoLayout comprend des API permettant de créer des mises en page et des expressions utilisables sur différentes surfaces Wear OS. Par exemple, la bibliothèque de cartes utilise ces API pour prendre en charge la liaison de données de la plate-forme (pour des mises à jour plus rapides des données des cartes) et les animations.

Version 1.0.0-rc01

26 juillet 2023

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

Modifications apportées à l'API

  • Nous avons supprimé les méthodes setLayoutConstraintForDynamicAnchorAngle et getLayoutConstraintForDynamicAnchorAngle de l'élément Arc. Ces méthodes ont été ajoutées par erreur et n'ont eu aucun effet sur la mise en page fournie. (If7d01).
  • Nous avons limité la profondeur maximale que la mise en page d'une ProtoLayout peut avoir à 30 LayoutElements imbriqués. (I8a74b).

Correction de bugs

  • Nous avons ajouté une vérification à générer si DynamicColor a été défini pour un SpanText. (I0e5bc).
  • Il est précisé que l'unité de la source de données DAILY_CALORIES est le kcal. (Iaa785).

Version 1.0.0-beta01

21 juin 2023

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

Nouvelles fonctionnalités

  • Autoriser le paramétrage de l'horloge pour les tests de liaison temporelle (I05622).

Modifications apportées à l'API

  • PlatformDataReceiver.onData() et StateBuilders.Builder.addKeyToValueMapping acceptent désormais un mappage avec sûreté du typage de DynamicDataKey à DynamicDataValue plutôt que des génériques non sécurisés. Cela signifie que DynamicDataValue est maintenant saisi avec son DynamicType. Constantes HEART_RATE_ACCURACY_X déplacées à la racine de PlatformHealthSources pour correspondre au positionnement des autres constantes Android. Mise à jour des constantes int HEART_RATE_ACCURACY_X, qui sont désormais utilisées directement dans DynamicHeartRateAccuracy.constant() et DynamicHeartRateAccuracy.dynamicDataValueOf() au lieu de la constante de valeur. (I82ff5).
  • La classe PlatformHealthSources.Constants a pu être instanciée par erreur. Ce problème est désormais résolu. (Icb849).
  • PlatformTimeUpdateNotifier#setReceiver reçoit désormais Runnable au lieu de la fonction Supplier et Executor pour avertir l'utilisateur. (I9d938).
  • Nous avons modifié le type de paramètre dans PlatformTimeUpdateNotifier#setReceiver en remplaçant Callable par Supplier. (I664bf).
  • CompactChip et TitleChip permettent désormais d'y ajouter une icône. (I5a01e).

Correction de bugs

  • Mise à jour des messages Prop avec des champs dynamiques pour utiliser oneof à la place. (I81739)
  • Réutilisation de l'implémentation de setters pour les surcharges comportant des setters (Ied70c)
  • Enregistrement correct des empreintes dans les setters qui présentent des surcharges. (I86ed2)

Version 1.0.0-alpha11

7 juin 2023

Publication d'androidx.wear.protolayout:protolayout-*:1.0.0-alpha11. Liste des commits de la version 1.0.0-alpha11

Nouvelles fonctionnalités

  • Nous avons ajouté une PlatformDataKey pour la précision de la fréquence cardiaque. (I7f9b8).

Modifications apportées à l'API

  • Remplacement du nom StateBuilders#getIdToValueMapping par getKeyToValueMapping et du type renvoyé Map<<AppDataKey<?>,DynamicDataValue>. (Iaa7ae).
  • Conversion de StateStore en classe finale. (I408ca)
  • Remplacement de l'interface TimeGateway par PlatformTimeUpdateNotifier dans la bibliothèque protolayout-expression-pipeline, qui indique la fréquence souhaitée pour la mise à jour des données temporelles. (I60869).
  • Changement de nom : register/unregisterForData dans PlatformDataProvider devient set/clearReceiver. (I14b02)
  • Dans Material Text, getExcludeFontPadding a été renommé hasExcludeFontPadding. (Iea01d).
  • Ajout d'un setter pour aligner parfaitement l'étiquette à tous les composants du chip. Une cible tactile minimale est désormais appliquée à tous les chips. (I8ae92).
  • Le compte de service (LayoutDefaults#BUTTON_MAX_NUMBER) a été renommé MAX_BUTTONS. (I84788).
  • DAILY_DISTANCE a été renommé DAILY_DISTANCE_M. (I4f758).

Correction de bugs

  • Mise à jour de la documentation sur les types de props pour clarifier pourquoi la valeur statique est appliquée. Spécifiez la valeur par défaut à utiliser en l'absence de valeur statique. (I155aa).
  • Les espaces de noms PlatformDataKey doivent respecter les dénominations de style Java. (I47bda).

Version 1.0.0-alpha10

24 mai 2023

Publication d'androidx.wear.protolayout:protolayout-*:1.0.0-alpha10. Liste des commits de la version 1.0.0-alpha10

Nouvelles fonctionnalités

  • Ajout de AppDataKey pour accéder à l'état push de l'application ; Ajout de PlatformDataKey pour accéder aux données de la plate-forme ; Ajout de la prise en charge des espaces de noms dans StateStore. (I7985e).
  • Prise en charge des opérations Equal et NotEqual pour DynamicBool. (I6a0c1).

Modifications apportées à l'API

  • La classe FontStyles est désormais finale. (Iaa2ea)
  • LayoutElementBuilders#FontStyles est maintenant obsolète. Veuillez utiliser androidx.wear.protolayout.Typography ou créer votre propre FontStyle. (Ic929b).
  • Masquage de l'interface imbriquée Action#Builder dans l'interface Action. Les implémentations de compilateur sont déjà fournies par les classes LoadAction et LaunchAction. (I1d70c).
  • Autoriser l'utilisation de DynamicFloat avec FloatProp. Notez que FloatProp ne nécessite aucune contrainte de mise en page, car il n'est pas utilisé comme propulsion de modification de la mise en page. (I286ac)
  • Les actions LoalAction et SetStateAction ont été supprimées, car elles n'étaient pas encore vraiment compatibles. (I5d6a6).
  • Ajout de la prise en charge du format ARGB_8888 pour les ressources d'image intégrée. (I8a07c).
  • Renommage de StateEntryValue en DynamicDataValue et mise à jour des API d'état pour utiliser DynamicDataKey. (If1c01)
  • Nous limitons le nombre d'entrées autorisées dans le StateStore afin de nous assurer que l'utilisation de la mémoire et le temps de mise à jour de l'état sont bien contenus et contrôlés pour chaque instance de StateStore. Par conséquent, le développeur doit s'assurer qu'il n'a pas plus de MAX_STATE_ENTRY_COUNT entrées dans la carte, sinon il recevra une IllegalStateException lors de la création ou de la mise à jour du StateStore. (Ibadb3).
  • Masquage des classes OnLoadTrigger et OnConditionMetTrigger, et renommage de setTrigger en setCondition pour OnConditionMetTrigger. (Ibf629).
  • Pour des raisons de performances et de compatibilité, les moteurs de rendu ProtoLayout ne sont pas compatibles avec l'ensemble des fonctionnalités des ressources AnimatedVectorDrawable. Nous marquerons ces API comme étant expérimentales jusqu'à ce que nous puissions définir l'ensemble compatible. (Ic6daf).
  • Ajout de types dynamiques pour la distance et les calories quotidiennes, et les étages gravis par jour. Les clés des sources d'état de la plate-forme se trouvent désormais sous PlatformHealthSources.Keys. (Ib7637)
  • La méthode Easing.cubicBezier remplace CubicBezierEasing.Builder. La classe EasingFunction est alors supprimée, et les constantes de lissage de vitesse de cette classe sont désormais directement accessibles à partir de l'interface Easing. De plus, setInfiniteRepeatable est remplacé par INFINITE_REPEATABLE_WITH_RESTART et INFINITE_REPEATABLE_WITH_REVERSE. (Ib41e7)
  • Implémentez PlatformDataProvider pour fournir la fréquence cardiaque et le nombre de pas quotidiens. Suppression de l'interface SensorGateway de l'API publique. (I55b84).
  • Ajoutez PlatformDataProvider et mettez à jour StateStore pour s'enregistrer dans PlatformDataProvider lorsque la clé compatible du fournisseur est requise par le nœud du pipeline d'expressions. (Ib616a).
  • SensorGateway n'est plus Closeable, car il ne gère plus aucun état. (I6b4f7).
  • Autoriser l'utilisation de FloatProp avec DynamicFloat pour la progression dans CircularProgressIndicator. Cette fonctionnalité est disponible pour les moteurs de rendu compatibles avec la version 1.2. Les anciens moteurs de rendu utiliseront la valeur staticValue s'il est fourni, ou 0 pour les autres. (I0d91b)
  • Refactorisation des constantes MultiButtonLayout dans la classe LayoutDefaults.MultiButtonLayoutDefaults, qui contient désormais celles correspondant à la taille des boutons en fonction d'un certain nombre de boutons dans la mise en page. (I13973).
  • Prise en charge de l'utilisation de StringProp avec DynamicString dans le texte Material. Cette fonctionnalité est disponible pour les moteurs de rendu compatibles avec la version 1.2. Les anciens moteurs de rendu utiliseront la valeur statique fournie. Remplacez le type renvoyé String de Text#getText par StringProp. (I7275b).

Version 1.0.0-alpha09

10 mai 2023

Publication d'androidx.wear.protolayout:protolayout-*:1.0.0-alpha09. Liste des commits de la version 1.0.0-alpha09

Nouvelles fonctionnalités

  • Nous avons ajouté un élément de mise en page d'extension expérimental. Notez que cette option ne peut pas être utilisée par défaut et nécessite une extension de moteur de rendu capable de comprendre l'élément de mise en page. (I6581d).
  • Ajout de la compatibilité de StrokeCap avec ArcLine. (I94951).
  • Ajout de la prise en charge de l'opération instantanée conditionnelle. (I489a7).
  • Ajout de la prise en charge de l'opération de durée conditionnelle. (Iab469).
  • Ajout de la prise en charge de la création de durée en secondes. (Ib5fa1).

Modifications apportées à l'API

  • Suppression des méthodes enable/disablePlatformSource de DynamicTypeEvaluator. L'appelant doit être responsable des mises à jour. (I78c6d).
  • Permet de limiter la taille des types de données liés. (Ie2966).
  • Prise en charge de la description du contenu dynamique dans protolayout-material. (I62c8e).
  • Utilisez long et @IntRange pour la durée et le retard dans AnimationParameters. (I388b6).

Version 1.0.0-alpha08

19 avril 2023

Publication d'androidx.wear.protolayout:protolayout-*:1.0.0-alpha08. Liste des commits de la version 1.0.0-alpha08

Nouvelles fonctionnalités

  • AndroidTextStyle a été ajouté(e) à LayoutElementBuilders. (I8d967).
  • Il est désormais possible d'exclure la marge intérieure de la police dans ProtoLayout Material Text. (I17f5d).
  • ARGB_8888 est désormais compatible avec les images intégrées. (I18c1e).
  • DynamicColor accepte désormais l'opération onCondition. (I10927).

Modifications apportées à l'API

  • Prise en charge de la durée personnalisée pour l'animation inversée. (I3251f)
  • Nous avons ajouté le modificateur SemanticDescription. En outre, ContentDescription ne peut pas être lié. (I3f1d).
  • La méthode DynamicBool.isFalse() est désormais remplacée par DynamicBool.negate(), et DynamicBool.isTrue() est supprimé. De plus, les valeurs DynamicFloat NaN et la limitation d'une DynamicInt32 à une DynamicFloat émettent désormais un résultat dynamique non valide. (I6ac1e).
  • Mise à jour des outils de mise en forme Int et float, qui utilisent désormais le modèle Builder. (Ieb213).

Correction de bugs

  • La valeur statique de remplacement a été supprimée des champs animables. (Ifcb01).
  • DynamicTypeValueReceiver#onPreUpdate a été supprimé. (I2dc35).
  • La longueur des chaînes dans les expressions dynamiques est désormais limitée. (I4c93).
  • Les dépendances Gradle sont désormais correctement définies sur api au lieu de implementation lorsque cela est nécessaire. (I40503).

Version 1.0.0-alpha07

5 avril 2023

Publication d'androidx.wear.protolayout:protolayout-*:1.0.0-alpha07. Liste des commits de la version 1.0.0-alpha07

Nouvelles fonctionnalités

  • Ajout de la prise en charge des valeurs dynamiques dans StringProp. (I04342)
  • Marquage des éléments de mise en page pouvant être liés (Ia110b)

Modifications apportées à l'API

  • sensorGateway#registerSensorGatewayConsumer utilise le type de données comme paramètre au lieu de la méthode dans Consumer. (Icf314).
  • Le compte de service (ObservableStateStore) a été renommé StateStore. (Ieb0e2).
  • Ajout de DynamicTypeEvaluator.Builder au lieu des arguments de constructeur pour autoriser plus d'arguments facultatifs, y compris ObservableStateStore, qui est désormais défini par défaut sur un magasin vide. (I6f832).
  • Refactorisation de l'ordre des paramètres dans DynamicTypeEvaluator. (Ic1ba4).

Correction de bugs

  • Propagation correcte des signaux depuis les sources des capteurs de la plate-forme vers les nœuds en aval. (I5a922)

Version 1.0.0-alpha06

22 mars 2023

Publication d'androidx.wear.protolayout:protolayout-*:1.0.0-alpha06. Liste des commits de la version 1.0.0-alpha06

Nouvelles fonctionnalités

  • Ajout d'une API expérimentale pour utiliser la fréquence cardiaque et les pas quotidiens dans les expressions dynamiques. (Ifd711)
  • Nous avons ajouté la prise en charge des retards d'arrière et d'avant pour les animations. (Ic25f7).
  • DynamicColor prend désormais en charge les bordures et l'arrière-plan.
  • Nous avons ajouté la prise en charge de la valeur dynamique pour les types dans DimensionBuilder.
  • La mise en page et les composants de tiles-material vont être déplacés vers protolayout-material

Modifications apportées à l'API

  • LoadActionListener a été ajouté(e) à ProtoLayoutViewInstance. (If7806).

Correction de bugs

  • Ajout de FloatNodesTest. (Id7281)
  • Correction du plantage du moteur de rendu lorsqu'il était impossible de charger un bitmap structuré.

Version 1.0.0-alpha05

8 mars 2023

Publication d'androidx.wear.protolayout:protolayout-*:1.0.0-alpha05. Liste des commits de la version 1.0.0-alpha05.

Nouvelles fonctionnalités

  • Nous avons ajouté une animation expérimentale de "mise à jour du contenu " à l'objet Modifiers. Cette animation se déclenche chaque fois que l'élément (avec ce modificateur) ou l'un de ses enfants change lors d'une mise à jour de la mise en page. (bd03e5d).

Modifications apportées à l'API

  • Nous avons ajouté forwardRepeatDelayMillis et reverseRepeatDelayMillis à Repeatable. Nous avons également remplacé le nom de delayMillis dans AnimationSpec par startDelayMillis. (Ifb266)
  • Les méthodes DynamicTypeEvaluator.bind acceptent désormais un exécuteur. (I346ab).
  • Nous avons ajouté la méthode startEvaluation à BoundDynamicType pour déclencher l'évaluation une fois le type dynamique associé. (I19908).

Correction de bugs

  • L'objet Animator sera réutilisé pour les animations suivantes d'un seul élément. (Ia3be9).

Version 1.0.0-alpha04

22 février 2023

Publication d'androidx.wear.protolayout:protolayout-*:1.0.0-alpha04. Liste des commits de la version 1.0.0-alpha04

Nouvelles fonctionnalités

  • Désormais, ObservableStateStore informe également les écouteurs lorsqu'une clé est également supprimée.
  • Nous avons ajouté la version du schéma de moteur de rendu et l'échelle de police à DeviceParameters (qui peut être utilisé pour créer des mises en page de manière conditionnelle en fonction de différentes versions et paramètres de police).
  • Ajout de la prise en charge de l'animation des valeurs DynamicInt32. (I05485)
  • Nous avons ajouté les déclencheurs OnLoad et OnConditionalMet. Ils peuvent être utilisés pour lancer des animations prenant en charge un déclencheur.
  • Nous avons ajouté une épaisseur de mise en page pour les dimensions post-expansion et une taille minimale pour les dimensions encapsulées.
  • Nous avons ajouté des types de durée et de dynamique instantanée. Ils peuvent servir à représenter un instant temporel ou une durée dans une expression dynamique.
  • Nous avons ajouté la prise en charge de AnimatedVectorDrawable et SeekableAnimatedVectorDrawable en tant que ressources de mise en page.

Modifications apportées à l'API

  • Les données des capteurs nécessitent une API de niveau 29 ou supérieur. (I8099e)
  • Nous avons ajouté deux méthodes d'assistance launchAction (pour lancer les activités).

Correction de bugs

  • Changement de nom : set/getSpec devient set/getAnimationSpec dans l'animation des cartes. (I3d74b)

Version 1.0.0-alpha03

8 février 2023

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

Nouvelles fonctionnalités

  • Nous avons ajouté toByteArray() et fromByteArray() aux types dynamiques dans la bibliothèque protolayout-express.
  • Nous avons ajouté toString() aux types dynamiques dans la bibliothèque protolayout-expression.
  • Les types de créations dynamiques sont désormais compatibles avec l'évaluation. La classe DynamicTypeEvaluator de la bibliothèque protolayout-expression-pipeline peut être utilisée pour évaluer (et recevoir les valeurs mises à jour) pour un type dynamique précédemment créé (DynamicString, DynamicFloat, etc.).
  • Lorsqu'il est impossible de lire des animations (soit parce qu'elles sont désactivées par l'évaluateur, soit parce que le nombre d'animations en cours d'exécution a atteint la limite définie), les valeurs statiques définies sur le nœud animable sont utilisées pour remplacer l'animation.

Version 1.0.0-alpha02

25 janvier 2023

Publication d'androidx.wear.protolayout:protolayout:1.0.0-alpha02, androidx.wear.protolayout:protolayout-expression:1.0.0-alpha02 et androidx.wear.protolayout:protolayout-proto:1.0.0-alpha02. Liste des commits de la version 1.0.0-alpha02

Nouvelles fonctionnalités

  • Les outils de création de mise en page d'androidx.wear.tiles:tiles vont être déplacés vers androidx.wear.protolayout:protolayout. Ceux d'androidx.wear.tiles:tiles seront abandonnés dans l'une des prochaines versions alpha.

Version 1.0.0-alpha01

11 janvier 2023

Publication d'androidx.wear.protolayout:protolayout-expression:1.0.0-alpha01 et d'androidx.wear.protolayout:protolayout-proto:1.0.0-alpha01. Liste des commits de la version 1.0.0-alpha01

Nouvelles fonctionnalités

  • Cette version introduit une nouvelle bibliothèque "ProtoLayout Expression" qui permet de créer des expressions à partir de variables dynamiques.