Wednesday, February 22, 2017

ConstraintLayout 1.0 is now available

After months of intensive development, we are delighted to announce the 1.0 release of the ConstraintLayout library. It's available as a small unbundled library, in the Android Studio SDK Manager (under the "Support Repository" section), compatible with API level 9 (Gingerbread and above). We recommend updating to this version, particularly if used in production.

Note: with Android Studio 2.3 reaching release candidate status, we also encourage people to switch to it for editing layouts (ConstraintLayout included). Many improvements have been made since 2.2, providing a smoother experience.

The ConstraintLayout library allows you to create complex layouts easily, avoiding deep nested hierarchies and providing many powerful features for designing UIs:


  • Relative positioning of widgets to parent or siblings
  • Centering positioning and bias control
  • Flexible size control (min/max/wrap/constrained)
  • Per axis group behavior (chains, weights)
  • Advanced visibility behavior (gone handling and margins)
  • Horizontal and Vertical virtual guidelines (fixed positions or percentage-based)
  • Aspect Ratio support
  • Advanced API to set constraints programmatically, allowing easy animations between layouts


A code lab is available as an introduction to ConstraintLayout as well as a developer guide. A complete online documentation is also available. Many excellent tutorials have also been created by the developers’ community; you can find them on YouTube, Medium, or your favorite search engine

Changes since beta5: bug fixes related to wrap_content, support for MEASURE_STATE_TOO_SMALL.