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 admissible Version bêta Version alpha
constraintlayout 2.1.4 - - 2.2.0-alpha01
constraintlayout-compose 1.0.1 - - 1.1.0-alpha01
Dernière mise à jour de la bibliothèque : 20 mai 2022

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 des artefacts dont vous avez besoin dans le fichier build.gradle de votre application ou module :

Groovy

dependencies {
    implementation "androidx.constraintlayout:constraintlayout:2.1.4"
    // To use constraintlayout in compose
    implementation "androidx.constraintlayout:constraintlayout-compose:1.0.1"
}

Kotlin

dependencies {
    implementation("androidx.constraintlayout:constraintlayout:2.1.4")
    // To use constraintlayout in compose
    implementation("androidx.constraintlayout:constraintlayout-compose:1.0.1")
}

Pour en savoir plus sur les dépendances, consultez la page 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 problème

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

ConstraintLayout-compose 1.1

ConstraintLayout-compose 1.1 fournit des fonctionnalités MotionLayout supplémentaires dans Jetpack Compose.

Version 1.1.0-alpha01

20 mai 2022

Publication de 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-alpha01

20 mai 2022

Publication de 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 de 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 de 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 de 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 de 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 de 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 de 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 de 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 de 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 de 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 de 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 de 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 de 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 de 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 de 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 de androidx.constraintlayout:constraintlayout:2.1.3.

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

Version 2.1.2

16 novembre 2021

Publication de androidx.constraintlayout:constraintlayout:2.1.2.

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

Version 2.1.1

27 septembre 2021

Publication de androidx.constraintlayout:constraintlayout:2.1.1.

Il s'agit de la version 2.1.1 finale.

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

Version 2.1.0

30 juillet 2021

Publication de androidx.constraintlayout:constraintlayout:2.1.0.

Il s'agit de la version 2.1.0 finale.

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

Version 2.1.0-rc01

22 juillet 2021

Publication de 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, découvrez les nouveautés de la version 2.1 sur GitHub.

Version 2.1.0-beta02

4 mai 2021

Publication de 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 de 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 de 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 de 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 de 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 de 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 de 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 de 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 de 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 de 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 de 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 de 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 de 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 de 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 de 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.