ConstraintLayout

Positionnez et dimensionnez les widgets de manière flexible à l'aide des emplacements relatifs.

Ce tableau répertorie tous les artefacts du groupe androidx.constraintlayout.

Artefact Version stable Version finale Version bêta Version alpha
constraintlayout 2.1.4 - 2.2.0-beta01 -
constraintlayout-compose 1.0.1 - 1.1.0-beta01 -
constraintlayout-core 1.0.4 - 1.1.0-beta01 -

Déclarer des dépendances

Pour ajouter une dépendance sur ConstraintLayout, 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 {
    implementation "androidx.constraintlayout:constraintlayout:2.2.0-beta01"
    // To use constraintlayout in compose
    implementation "androidx.constraintlayout:constraintlayout-compose:1.1.0-beta01"
}

Kotlin

dependencies {
    implementation("androidx.constraintlayout:constraintlayout:2.2.0-beta01")
    // To use constraintlayout in compose
    implementation("androidx.constraintlayout:constraintlayout-compose:1.1.0-beta01")
}

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.

ConstraintLayout-compose et ConstraintLayout-Core 1.1

Version 1.1.0-beta01

4 septembre 2024

Publication d'androidx.constraintlayout:constraintlayout-compose:1.1.0-beta01, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-beta01 et androidx.constraintlayout:constraintlayout-core:1.1.0-beta01. La version 1.1.0-beta01 contient ces commits.

Version 1.1.0-alpha14

7 août 2024

Publication d'androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha14, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha14 et androidx.constraintlayout:constraintlayout-core:1.1.0-alpha14. La version 1.1.0-alpha14 contient ces commits.

Modifications apportées à l'API

  • Les options sont désormais fournies individuellement via l'objet associé et peuvent être combinées avec l'opérateur or. (I9df53).
  • createRow et createColumn. Amélioration des noms des paramètres createGrid et de la documentation pour plus de clarté. (Iebc92).
  • Simplification de l'API animateChanges dans ConstraintLayout pour n'avoir besoin que d'un AnimationSpec non nul. onIncomingConstraints dans InvalidationStrategy est désormais un lambda standard. Changement de nom : fixedWidthRate devient shouldInvalidateOnFixedWith (identique pour la variante "Hauteur"). (Ie59cd, b/332898040, b/336370035).
  • Remplacement du glisser-déposer des sources NestedScroll par UserInput et SideEffect pour tenir compte de la définition étendue de ces sources, qui incluent désormais des animations (effet secondaire), ainsi que la molette et le clavier de la souris (UserInput). (I40579).

Version 1.1.0-alpha13

4 octobre 2023

Publication d'androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha13, d'androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha13 et d'androidx.constraintlayout:constraintlayout-core:1.1.0-alpha13 sans aucune modification. Liste des commits de la version 1.1.0-alpha13

  • Cette version permet aux bibliothèques androidx.constraintlayout d'être compatibles avec l'ABI avec les dernières versions de Compose.

Version 1.1.0-alpha12

9 août 2023

Publication d'androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha12, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha12 et androidx.constraintlayout:constraintlayout-core:1.1.0-alpha12. Liste des commits de la version 1.1.0-alpha12

Modifications apportées à l'API

  • Ajout de LayoutScopeMarker à Transition DSL. (If54ce).

Version 1.1.0-alpha11

26 juillet 2023

Publication d'androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha11, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha11 et androidx.constraintlayout:constraintlayout-core:1.1.0-alpha11. Liste des commits de la version 1.1.0-alpha11

Nouvelles fonctionnalités

  • Vous pouvez désormais fournir un InvalidationStrategy pour optimiser les invalidations dans MotionLayout. ce qui entraîne généralement une baisse des performances. (Iada0c).
  • Vous pouvez désormais utiliser animateChanges = true lorsque vous utilisez ConstraintLayout avec le modificateur DSL intégré (Modifier.constrainAs). Chaque fois qu'une modification des contraintes DSL est effectuée, ConstraintLayout s'anime automatiquement vers ce nouvel état. (I9abf1).
  • Fonctionnalité activée pour limitBoundsTo sur OnSwipe. (I56522).

Modifications apportées à l'API

  • Changement de nom : TransitionScope.staggered devient TransitionScope.maxStaggerDelay. (I0fd2d).

Correction de bugs

  • Correction du problème de fonctionnement du paramètre dragScale de OnSwipe. (8bef26).
  • Correction de customColor dans MotionScene qui ne fonctionnait pas correctement avec des couleurs transparentes. (81b2ac).
  • Correction du problème d'annonce de OnSwipe lorsqu'il s'est arrêté et correction du calcul de la vitesse initiale pour touchUp (Ia5f6f).
  • KDoc mis à jour pour le composable ConstraintLayout et Constraintset. (3bfe63).

Version 1.1.0-alpha10

24 mai 2023

Publication d'androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha10, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha10 et androidx.constraintlayout:constraintlayout-core:1.1.0-alpha10. Liste des commits de la version 1.1.0-alpha10

Modifications apportées à l'API

  • L'API MotionLayout n'est plus expérimentale. Il s'agit de l'ensemble initial d'API stables pour MotionLayout. (I288f4).
  • Suppression de MotionLayoutState. (Id3ac1).
  • Vous pouvez maintenant utiliser DebugFlags pour le débogage visuel: DebugFlags(showBounds = true). (Ic714b).
  • Remplacement de la variable d'extension Dp.asDimension par une méthode: Dp.asDimension(). (I2d6ef).
  • Le mode échelonné est désormais pris en charge dans le DSL MotionLayout. Définissez le délai maximal avec TransitionScope.staggered. Vous pouvez également utiliser ConstrainScope.staggeredWeight (dans un MotionSceneScope) pour obtenir un ordre échelonné personnalisé. (I70275).
  • Deux modifications ont été apportées à l'outil d'aide Grille: 1. paddingLeft et paddingRight, respectivement paddingStart et paddingEnd, et 2. mettre à jour le format de gridSpans et gridSkip avec un tableau des objets Span et Skip pour le rendre plus structurel. (Idd1eb).

Version 1.1.0-alpha09

22 mars 2023

Publication d'androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha09 et d'androidx.constraintlayout:constraintlayout-core:1.1.0-alpha09. Liste des commits de la version 1.1.0-alpha09

Modifications apportées à l'API

  • Modifier.intermediateLayout ne nécessite plus de LookaheadScope explicite. Le bloc de mesure dans intermediateLayout a IntermediateMeasureScope comme récepteur, ce qui fournit des CoroutineScope, LookaheadScope et MeasureScope pratiques.
  • Remplacement de LookaheadLayout par LookaheadScope, qui n'est plus une mise en page. Cela permet au contenu enfant d'un LookaheadScope d'être directement contrôlé par le MeasurePolicy du parent. (Ibe2e5).
  • Easing.Cubic() peut désormais accepter les paramètres de dépassement. (I2d826).

Version 1.1.0-alpha08

8 mars 2023

Publication d'androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha08 et d'androidx.constraintlayout:constraintlayout-core:1.1.0-alpha08. Liste des commits de la version 1.1.0-alpha08

Nouvelles fonctionnalités

  • Ajout de vérifications lint pour suggérer l'utilisation de Dimension.percent(1f) et LayoutReference.withChainParams() dans les cas où les schémas typiques peuvent entraîner un comportement imprévisible. (I62eb0, I03060).

Modifications apportées à l'API

  • Activez les indicateurs ReverseSpanDirection et SpansOrderFirst pour Grid Helper dans Compose.
    1. ReverseSpanDirection: inverse les spécifications de largeur et de hauteur pour les spans/skips.
    2. SpansOrderFirst: les segments respectent l'ordre des widgets. (I6ad50).
  • Utilisez Modifier.onStartEndBoundsChanged(...) pour obtenir les limites locales des composables d'un MotionLayout qui ne sont pas affectés par l'animation. Utile pour toute interaction de l'interface utilisateur nécessitant des informations de mise en page pouvant également déclencher des animations telles que DragAndDrop. (I6b5f9).
  • Activation des sauts et des objets Span de l'outil d'aide à la grille dans Compose. (I917b6)

Correction de bugs

  • Correction des propriétés de traduction qui n'appliquaient pas les valeurs attendues. (I961cd).

Version 1.1.0-alpha07

8 février 2023

Publication d'androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha07 et d'androidx.constraintlayout:constraintlayout-core:1.1.0-alpha07. Liste des commits de la version 1.1.0-alpha07

Nouvelles fonctionnalités

  • Ajouter de nouvelles API pour activer l'outil Grid Helper dans Compose à l'aide de DSL (I1143b)

Correction de bugs

  • Correction de Wrap.Chain pour Flow qui ne se déployait pas correctement au paramètre maxElement donné. (e1f2ed3)
  • Correction de start ConstraintSet qui n'était pas mis à jour lors de la modification de la transition via MotionLayout(motionScene: MotionScene, progress: Float, transitionName: String). (17ffff1)
  • Correction de ConstraintSet qui ne reflétait pas certaines modifications lors de l'héritage des contraintes via ConstraintSet(extendConstraintSet: ConstraintSet, description: ConstraintSetScope.() -> Unit). (740804b)

Version 1.1.0-alpha06

25 janvier 2023

Publication d'androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha06 et d'androidx.constraintlayout:constraintlayout-core:1.1.0-alpha06. Liste des commits de la version 1.1.0-alpha06

Nouvelles fonctionnalités

  • Ajout de nouvelles API pour activer l'outil Grid Helper (aide aux grilles) dans Compose avec une représentation JSON, qui permet de placer les composables dans une grille 2D. (I968ad)

Modifications apportées à l'API

  • Ajout de la compatibilité avec les modes Arc vers le haut et Arc vers le bas Arc.Above et Arc.Below, les modes d'arcs à la direction indépendante dans MotionLayout (I184a9)
  • Il est désormais possible de limiter une ancre de référence aux ancres supérieures/inférieures et inversement. (I54628)
  • MotionLayoutScope#motionProperties a été renommé en MotionLayoutScope#customProperties (y compris les dérivées), dans un souci de cohérence, comme lors de la configuration de propriétés personnalisées. (Ib34c9)
  • Il est désormais possible de créer plusieurs références dans ConstraintSet et MotionScene : val (box, text, button) = createRefsFor("box", "text","button"). Applique des contraintes à plusieurs éléments avec constrain(box, button, text). Dans un ConstrainScope, vous pouvez désormais définir de manière intuitive une dimension fixe avec Dp.asDimension : width = 10.dp.asDimension. (I021ec, Ia0960)
  • Les méthodes MotionScene() et Transition() sont désormais des fonctions non modulables. Les objets de ces fonctions (y compris ConstraintSet) doivent désormais être convenablement comparables. Vous pouvez maintenant utiliser animateChanges = true dans ConstraintLayout avec une seule référence ConstraintSet, à condition que l'une de ses propriétés ait été modifiée lors de la recomposition. (I7d22e)

Correction de bugs

  • Correction d'un problème où ConstraintLayout provoquait toujours une recomposition inutile lorsque des assistants étaient modifiés. (Id83ad, b/222093277)
  • Correction du comportement lors de l'utilisation des fonctionnalités intrinsèques avec ConstraintLayout et MotionLayout. (I487ae, b/220527863)
  • Correction de l'impossibilité de mesurer à nouveau le contenu lorsque celui-ci change. (Ibfe8a, b/219091179)

Version 1.1.0-alpha05

7 décembre 2022

Publication d'androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha05 et d'androidx.constraintlayout:constraintlayout-core:1.1.0-alpha05. Liste des commits de la version 1.1.0-alpha05

Nouvelles fonctionnalités

  • Prise en charge du paramètre KeyAttributes personnalisé dans DSL (b94e748)
  • Propriétés du biais de surface dans ConstrainScope (32625d0)
  • Prise en charge des paramètres personnalisés dans les chaînes (72a2e9e)
  • Ajout des tests Macrobenchmark pour MotionLayout dans Compose (36f43bc)
  • Pour en savoir plus sur les modifications apportées dans la version précédente de Compose, consultez la page wiki.

Modifications apportées à l'API

  • Inversion des paramètres addConstraintSet et addTransition (152facc)

Corrections de bugs

  • Correction des chaînes horizontales (ed5f56e)

Version 1.1.0-alpha01

20 mai 2022

Publication d'androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha01.

MotionLayout est une API expérimentale qui nécessite d'être activée.

Pour en savoir plus, découvrez les nouveautés de Compose 1.1.0-alpha01 sur GitHub.

Version 2.2

Version 2.2.0-beta01

4 septembre 2024

Publication d'androidx.constraintlayout:constraintlayout:2.2.0-beta01. La version 2.2.0-beta01 contient ces commits.

Version 2.2.0-alpha14

7 août 2024

Publication d'androidx.constraintlayout:constraintlayout:2.2.0-alpha14. La version 2.2.0-alpha14 contient ces commits.

Version 2.2.0-alpha13

4 octobre 2023

Publication d'androidx.constraintlayout:constraintlayout:2.2.0-alpha13 sans aucune modification. Liste des commits de la version 2.2.0-alpha13

Version 2.2.0-alpha12

9 août 2023

Publication d'androidx.constraintlayout:constraintlayout:2.2.0-alpha12. Liste des commits de la version 2.2.0-alpha12

Version 2.2.0-alpha11

26 juillet 2023

Publication d'androidx.constraintlayout:constraintlayout:2.2.0-alpha11. Liste des commits de la version 2.2.0-alpha11

Modifications apportées à l'API

  • Ajout d'une méthode setter pour permettre aux développeurs de définir la valeur de mInfiniteCarousel par programmation. (I0a8ca)

Version 2.2.0-alpha10

24 mai 2023

Publication d'androidx.constraintlayout:constraintlayout:2.2.0-alpha10. Liste des commits de la version 2.2.0-alpha10

Correction de bugs

  • Corrigez un lien non fonctionnel dans le document MotionLayout. (51cbe88).

Version 2.2.0-alpha09

22 mars 2023

Publication d'androidx.constraintlayout:constraintlayout:2.2.0-alpha09. Liste des commits de la version 2.2.0-alpha09

Version 2.2.0-alpha08

8 mars 2023

Publication d'androidx.constraintlayout:constraintlayout:2.2.0-alpha08. Liste des commits de la version 2.2.0-alpha08

Version 2.2.0-alpha07

8 février 2023

Publication d'androidx.constraintlayout:constraintlayout:2.2.0-alpha07. Liste des commits de la version 2.2.0-alpha07.

Correction de bugs

  • Correction du problème de contenu manquant de la pa ConstraintLayout. (I82e25)

Version 2.2.0-alpha05

7 décembre 2022

Publication d'androidx.constraintlayout:constraintlayout:2.2.0-alpha05. Liste des commits de la version 2.2.0-alpha05

  • Pour en savoir plus sur les modifications apportées dans la version précédente, consultez la page du wiki GitHub.

Corrections de bugs

  • Résolution du problème de fuite dans le carrousel de vues (eb67b82)

Version 2.2.0-alpha01

20 mai 2022

Publication d'androidx.constraintlayout:constraintlayout:2.2.0-alpha01.

Inclut un aperçu du nouvel assistant Grid.

Pour en savoir plus, découvrez les nouveautés de la version 2.2.0-alpha01 sur GitHub.

ConstraintLayout-compose 1.0

ConstraintLayout-compose 1.0 fournit des fonctionnalités ConstraintLayout dans Jetpack Compose.

Version 1.0.1

20 mai 2022

Publication d'androidx.constraintlayout:constraintlayout-compose:1.0.1.

MotionLayout est une API expérimentale qui nécessite d'être activée.

Pour en savoir plus, découvrez les nouveautés de Compose 1.0.1 sur GitHub.

Version 1.0.0

13 janvier 2022

Publication d'androidx.constraintlayout:constraintlayout-compose:1.0.0.

MotionLayout est maintenant une API expérimentale qui nécessite d'être activée.

Pour en savoir plus, découvrez les nouveautés de la version 1.0 (Compose) sur GitHub.

Version 1.0.0-rc02

16 novembre 2021

Publication d'androidx.constraintlayout:constraintlayout-compose:1.0.0-rc02.

Pour en savoir plus, découvrez les nouveautés de la version 1.0 (Compose) sur GitHub.

Version 1.0.0-rc01

27 septembre 2021

Publication d'androidx.constraintlayout:constraintlayout-compose:1.0.0-rc01.

Cette version est la deuxième version bêta. Elle est considérée comme complète, car elle fournit ConstraintLayout et MotionLayout pour Compose.

Pour en savoir plus, découvrez les nouveautés de la version 1.0 (Compose) sur GitHub.

Version 1.0.0-beta02

30 juillet 2021

Publication d'androidx.constraintlayout:constraintlayout-compose:1.0.0-beta02.

Cette version est la deuxième version bêta. Elle est considérée comme complète, car elle fournit ConstraintLayout et MotionLayout pour Compose.

Pour en savoir plus, découvrez les nouveautés de la version 1.0 (Compose) sur GitHub.

Version 1.0.0-beta01

22 juillet 2021

Publication d'androidx.constraintlayout:constraintlayout-compose:1.0.0-beta01.

Cette version est la première version bêta. Elle est considérée comme complète, car elle fournit ConstraintLayout et MotionLayout pour Compose.

Pour en savoir plus, découvrez les nouveautés de la version 1.0 (Compose) sur GitHub.

Version 1.0.0-alpha07

18 mai 2021

Publication d'androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha07.

  • Mise à jour pour assurer la compatibilité avec la version 1.0.0-beta07 de Compose.

Version 1.0.0-alpha06

4 mai 2021

Publication d'androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha06.

  • Optimisation de Compose : composable intégré ConstraintLayout. (#193)
  • Réduction des nouvelles mesures dans Compose. (#210)

Version 1.0.0-alpha05

15 mars 2021

Publication d'androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha05.

  • Correction d'un problème lié au moteur d'optimisation. (b/182657720)
  • Ajout d'un paramètre optimizationLevel au composable ConstraintLayout.

Version 1.0.0-alpha04

11 mars 2021

Publication d'androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha04.

Mise à jour afin d'utiliser le moteur constraintlayout-core le plus récent.

Version 1.0.0-alpha03

24 février 2021

Publication d'androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha03.

Mise à jour de la version bêta 01 de Jetpack Compose.

Version 1.0.0-alpha02

10 février 2021

Publication d'androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha02.

Mise à jour de la version alpha 12 de Jetpack Compose.

Version 1.0.0-alpha01

2 février 2021

Publication d'androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha01.

Publication de la première version de la bibliothèque, fournissant des DSL intégrés et externes pour exprimer des contraintes.

Version 2.1

ConstraintLayout 2.1.0 fournit des fonctionnalités enrichies dans MotionLayout et de nouveaux assistants (Carousel, etc.).

Version 2.1.4

20 mai 2022

Publication d'androidx.constraintlayout:constraintlayout:2.1.4.

Pour en savoir plus, découvrez les nouveautés de la version 2.1.4 sur GitHub.

Version 2.1.3

13 janvier 2022

Publication d'androidx.constraintlayout:constraintlayout:2.1.3.

Pour en savoir plus, consultez l'article GitHub Nouveautés de la version 2.1.

Version 2.1.2

16 novembre 2021

Publication d'androidx.constraintlayout:constraintlayout:2.1.2.

Pour en savoir plus, consultez l'article GitHub Nouveautés de la version 2.1.

Version 2.1.1

27 septembre 2021

Publication d'androidx.constraintlayout:constraintlayout:2.1.1.

Il s'agit de la version 2.1.1 finale.

Pour en savoir plus, consultez l'article GitHub Nouveautés de la version 2.1.

Version 2.1.0

30 juillet 2021

Publication d'androidx.constraintlayout:constraintlayout:2.1.0.

Il s'agit de la version 2.1.0 finale.

Pour en savoir plus, consultez l'article GitHub Nouveautés de la version 2.1.

Version 2.1.0-rc01

22 juillet 2021

Publication d'androidx.constraintlayout:constraintlayout:2.1.0-rc01.

Il s'agit de la version 2.1.0 admissible, qui propose des améliorations mineures et des correctifs par rapport à la dernière version bêta. Pour en savoir plus, consultez l'article GitHub Nouveautés de la version 2.1.

Version 2.1.0-beta02

4 mai 2021

Publication d'androidx.constraintlayout:constraintlayout:2.1.0-beta02.

Ajout de plusieurs fonctionnalités dans MotionLayout :

  • Amélioration du mouvement OnSwipe, y compris du ressort (raideur, amortissement, masse, etc.) et du balayage incomplet.
  • Fonction jumpToState.
  • Mode downUp pour ViewDown : lecture jusqu'à 100 lors d'un appui vers le bas, jusqu'à 0 lors d'un appui vers le haut.

Corrections diverses, notamment :

  • Correction du problème lié au défilement vertical dans MotionLayout. (#173)
  • Amélioration des performances des mises en page MotionLayout imbriquées. (#189)
  • Accélération de la transition avec NestedScrollView dans MotionLayout. (#189)
  • Suppression de ConstraintSet dans MotionLayout. (#189)
  • Prise en charge des ViewTransitions downUp dans MotionLayout. (#190)
  • Correction dans ImageFilter lors de la réutilisation de drawables. (#192)
  • Prise en charge du ressort dans MotionLayout. (#199)
  • Amélioration des performances de CircularFlow. (#200)
  • Corrections dans les contraintes dérivées et le contournement des contraintes. (#212)

Version 2.1.0-beta01

11 mars 2021

Publication d'androidx.constraintlayout:constraintlayout:2.1.0-beta01.

ConstraintLayout

Mise à jour de android:layout_width et android:layout_height, qui ne sont plus facultatifs en raison de problèmes de compatibilité.

MotionLayout

  • Prise en charge de l'insertion et de la suppression programmatiques des actions onSwipe et onClick sur Transition.
  • Prise en charge expérimentale des transitions via la rotation de l'écran.
  • Prise en charge de l'argument duration pour les transitions.
  • Meilleure compatibilité avec les CustomAttributes booléens ou les References.

Assistants

  • Ajout d'une méthode permettant d'animer ou d'accéder directement à un élément donné d'un Carousel.
  • Ajout d'un nouvel assistant CircularFlow.

Pour en savoir plus sur cette version, consultez cette page et les bugs fermés.

Version 2.1.0-alpha2

17 décembre 2020

Publication d'androidx.constraintlayout:constraintlayout:2.1.0-alpha2.

Cette deuxième version alpha comporte plusieurs nouvelles fonctionnalités :

ConstraintLayout

  • Mise à jour de android:layout_width et android:layout_height, désormais facultatifs (le comportement wrap_content est défini par défaut).
  • Ajout d'attributs layout_constraintWidth et layout_constraintHeight pour exprimer des contraintes de dimension.
  • Prise en charge des marges négatives pour les contraintes.
  • Prise en charge des contraintes baselineToTop et baselineToBottom.
  • Prise en charge des contraintes baselineMargin.
  • Prise en charge de l'injection de valeurs externes avec SharedValues dans ConstraintLayout.

MotionLayout

  • Compatibilité avec les interpolateurs de dépassement (anticipation, dépassement).
  • Compatibilité améliorée avec MotionHelper.
  • Ajout d'une mise à jour animée de ConstraintSet à la méthode updateStateAnimate(id,cset,duration) de MotionLayout.
  • Ajout d'un ViewTransition basé sur une valeur partagée.
  • Prise en charge de la planification d'une transition à la fin de la transition en cours avec ScheduleTransitionTo.

Assistants

  • Prise en charge du mode infini (retour au début) par Carousel.
  • ReactiveGuide : objet Guideline qui se positionne automatiquement lorsqu'un SharedValue change.
  • MotionEffect : injecte des images clés dans des vues référencées se déplaçant dans une direction donnée.
  • MotionLabel : View permettant d'animer un texte sur une ligne.

En savoir plus sur cette version

Version 2.1.0-alpha1

19 novembre 2020

Publication d'androidx.constraintlayout:constraintlayout:2.1.0-alpha1.

Première version alpha de la version 2.1. Nouvelles fonctionnalités prises en charge :

  • Ajout d'un assistant de mouvement Carousel permettant de créer des vues de carrousel personnalisées.
  • Prise en charge des inclusions et du contournement des contraintes par les scènes MotionLayout.
  • Amélioration de la prise en charge de la rotation (entrée et sortie) par MotionLayout.
  • Mise à jour de MotionLayout, qui ajoute désormais des ViewTransitions permettant des transitions de vue uniques pour la mutation des ensembles de contraintes.

En savoir plus sur cette version

Version 2.0

ConstraintLayout 2.0 ajoute de nouvelles fonctionnalités pour les mises en page (mises en page virtuelles, etc.) et une nouvelle classe MotionLayout qui simplifie l'animation des vues.

Version 2.0.4

29 octobre 2020

Publication d'androidx.constraintlayout:constraintlayout:2.0.4.

Correction de bugs

Correction d'une exception NPE susceptible de se produire lors de la suppression d'une vue enfant au moment de l'exécution. Nous vous recommandons de passer à cette version.

Cliquez ici pour consulter la liste des problèmes fermés.

Version 2.0.3

27 octobre 2020

Publication d'androidx.constraintlayout:constraintlayout:2.0.3.

Correction de bugs

Correction de plusieurs problèmes. Nous vous recommandons de passer à cette version.

  • Correction d'un bug affectant la gestion des encarts Windows.
  • Correction d'un bug affectant la gestion du format dans certaines situations.
  • Correction d'un plantage affectant certaines mises en page de droite à gauche.

Cliquez ici pour consulter la liste des problèmes fermés.

Version 2.0.2

6 octobre 2020

Publication d'androidx.constraintlayout:constraintlayout:2.0.2.

Correction de bugs

Amélioration des performances et correction de plusieurs problèmes. Nous vous recommandons de passer à cette version.

  • Correction d'un bug affectant la gestion de la visibilité GONE pour les vues dans ConstraintLayout dans certaines situations.
  • Correction d'un bug affectant la gestion des chaînes empaquetées dans ConstraintLayout dans certaines situations.
  • Correction de l'exception d'inflation sur l'API 15 pour l'assistant de mise en page virtuelle Flow.
  • Correction du blocage de limitsBoundsTo dans MotionLayout.
  • Correction du blocage pour accéder à la fin dans MotionLayout dans certaines situations (enchaînement de transitions).

Cliquez ici pour consulter la liste des problèmes fermés.

Version 2.0.1

25 août 2020

Publication d'androidx.constraintlayout:constraintlayout:2.0.1.

Cette mise à jour mineure permet d'utiliser MotionEditor dans Android Studio.

Version 2.0.0

21 août 2020

Publication d'androidx.constraintlayout:constraintlayout:2.0.0.

Correction de bugs

Cliquez ici pour consulter la liste des problèmes fermés.

Corrections importantes :

  • Correction de bugs affectant TransitionListener et des retards de transition dans MotionLayout.
  • Correction de bugs affectant les flux et les barrières ConstraintLayout.

Version 2.0.0-rc1

29 juillet 2020

Publication d'androidx.constraintlayout:constraintlayout:2.0.0-rc1.

Correction de bugs

Cliquez ici pour consulter la liste des problèmes fermés.

Corrections importantes :

  • Correction de bugs affectant Flow.
  • Correction de bugs affectant RecyclerView (mise à jour vers la version 1.2.0 alpha 5 ou ultérieure de RecyclerView recommandée).
  • Correction de bugs affectant TransitionListener dans MotionLayout.
  • Correction du problème de fuite de mémoire dans MotionLayout.

Version 2.0.0-beta8

7 juillet 2020

Publication d'androidx.constraintlayout:constraintlayout:2.0.0-beta8.

Correction de bugs

Cliquez ici pour consulter la liste des problèmes fermés.

Corrections importantes :

  • Correction du comportement des espaces réservés.
  • Correction de la visibilité des calques.
  • Correction de bugs affectant Flow et Barrier.
  • Correction de bugs affectant TransitionListener.

Version 2.0.0-beta7

12 juin 2020

Publication d'androidx.constraintlayout:constraintlayout:2.0.0-beta7.

Correction de bugs

Cliquez ici pour consulter la liste des problèmes fermés.

Corrections importantes :

  • Correction de problèmes affectant les vues à défilement imbriqué dans MotionLayout.
  • Correction de problèmes affectant les écouteurs de transition avec MotionLayout.
  • Correction du problème de fuite de mémoire dans MotionLayout.
  • Correction de problèmes affectant RecyclerView.
  • Correction du problème affectant la visibilité des groupes.
  • Correction des problèmes de marge intérieure.

Version 2.0.0-beta6

13 mai 2020

Publication d'androidx.constraintlayout:constraintlayout:2.0.0-beta6.

Correction de bugs

Cliquez ici pour consulter la liste des problèmes fermés. Les corrections importantes concernent les problèmes liés à la gestion de la visibilité des groupes et aux contraintes dérivées dans MotionLayout.

Version 2.0.0-beta5

7 mai 2020

Publication d'androidx.constraintlayout:constraintlayout:2.0.0-beta5.

Correction de bugs

Cliquez ici pour consulter la liste des problèmes fermés.

Version 2.0.0-beta4

16 décembre 2019

Publication d'androidx.constraintlayout:constraintlayout:2.0.0-beta4.

Nouvelles fonctionnalités

MotionLayout

Nouveaux attributs dans Transition :

  • layoutDuringTransition : permet de configurer la manière dont MotionLayout doit réagir aux appels requestLayouts des enfants lors d'une transition. Valeurs possibles : {ignoreRequest, honorRequest}
  • pathMotionArc : permet de déplacer les éléments en mouvement selon un arc. Valeurs possibles : {startVertical | startHorizontal | flip | none }

Il est désormais possible de définir une transition par défaut, simplement en omettant les ConstraintSets de début et de fin. Elle sera utilisée si aucune autre transition ne correspond aux états de début et de fin actuels.

Correction de bugs

Cliquez ici pour consulter la liste des problèmes fermés.