Google is committed to advancing racial equity for Black communities. See how.

Constraintlayout

Position and size widgets in a flexible way with relative positioning.
Latest Update Current Stable Release Next Release Candidate Beta Release Alpha Release
October 27, 2020 2.0.3 - - -

To add a dependency on ConstraintLayout, you must add the Google Maven repository to your project. Read Google's Maven repository for more information.

Add the dependencies for the artifacts you need in the build.gradle file for your app or module:

dependencies {
    implementation "androidx.constraintlayout:constraintlayout:2.0.3"
}

For more information about dependencies, see Add build dependencies.

Feedback

Your feedback helps make Jetpack better. Let us know if you discover new issues or have ideas for improving this library. Please take a look at the existing issues in this library before you create a new one. You can add your vote to an existing issue by clicking the star button.

Create a new issue

See the Issue Tracker documentation for more information.

Version 2.0

ConstraintLayout 2.0 adds new features for layouts (virtual layouts, etc.) and a new class for simplifying animation of views, MotionLayout.

Version 2.0.3

October 27, 2020

androidx.constraintlayout:constraintlayout:2.0.3 is released.

Bug Fixes

This releases fixes a few issues. It is recommended to update to this version.

  • Windows insets handling
  • Handling of dimension ratio in some situations
  • Crash with some RTL layouts

See the list of closed issues here.

Version 2.0.2

October 6, 2020

androidx.constraintlayout:constraintlayout:2.0.2 is released.

Bug Fixes

This releases improves performances as well as fix a few issues. It is recommended to update to this version.

  • Handling of view GONE visibility in ConstraintLayout was incorrect in some situations
  • Handling of packed chains in ConstraintLayout was incorrect in some situations
  • Fixed inflation exception on API 15 for the Flow virtual layout helper
  • limitsBoundsTo was broken in MotionLayout
  • jump to end was broken in MotionLayout in some situations (chaining transitions)

See the list of closed issues here.

Version 2.0.1

August 25, 2020

androidx.constraintlayout:constraintlayout:2.0.1 is released.

This is a minor update enabling the use of the MotionEditor in Android Studio.

Version 2.0.0

August 21, 2020

androidx.constraintlayout:constraintlayout:2.0.0 is released.

Bug Fixes

See the list of closed issues here.

Notable fixes are:

  • MotionLayout Transition delays & TransitionListener fixes
  • ConstraintLayout flow & barrier fixes

Version 2.0.0-rc1

July 29, 2020

androidx.constraintlayout:constraintlayout:2.0.0-rc1 is released.

Bug Fixes

See the list of closed issues here.

Notable fixes are:

  • Flow fixes
  • RecyclerView fixes (we recommend to update to recyclerview 1.2.0 alpha 5 or later)
  • MotionLayout TransitionListener fixes
  • MotionLayout memory leak fix

Version 2.0.0-beta8

July 7, 2020

androidx.constraintlayout:constraintlayout:2.0.0-beta8 is released.

Bug Fixes

See the list of closed issues here.

Notable fixes are:

  • Placeholder behavior
  • Layer visibility
  • Flow, Barrier fixes
  • TransitionListener fixes

Version 2.0.0-beta7

June 12, 2020

androidx.constraintlayout:constraintlayout:2.0.0-beta7 is released.

Bug Fixes

See the list of closed issues here.

Notable fixes are:

  • Nested scroll view issues in MotionLayout
  • Transition listener issues with MotionLayout
  • Memory leak in MotionLayout
  • RecyclerView issues
  • Group visibility
  • Padding issues

Version 2.0.0-beta6

May 13, 2020

androidx.constraintlayout:constraintlayout:2.0.0-beta6 is released.

Bug Fixes

See the list of closed issues here. Notable fixes are group visibility handling and derived constraints issues in MotionLayout.

Version 2.0.0-beta5

May 7, 2020

androidx.constraintlayout:constraintlayout:2.0.0-beta5 is released.

Bug Fixes

See the list of closed issues here

Version 2.0.0-beta4

December 16, 2019

androidx.constraintlayout:constraintlayout:2.0.0-beta4 is released.

New Features

MotionLayout

New attributes in Transition:

  • layoutDuringTransition : let you configure how MotionLayout should react to children's requestLayouts calls during a transition. Possible values are {ignoreRequest, honorRequest}
  • pathMotionArc : the path taken by elements moving will use an arc. Possible values are {startVertical | startHorizontal | flip | none }

A default transition is now possible to define, simply by omitting the start and end ConstraintSets. That default transition will be used if no other existing transition can be found to match the current start/end states.

Bug Fixes

See the list of closed issues here