We are happy to announce the release candidate of ConstraintLayout 2.0. As this might be the final release before stable, we encourage people to try it and report any issues with their projects!
ConstraintLayout 2.0 adds a long list of capabilities to v1, from better runtime API to build up layouts to the introduction of new layout mechanisms such as Flow, or additional helpers like Layer.
Most notably though, this release introduces MotionLayout, an extremely powerful subclass of ConstraintLayout that you can use to easily create refined motion in your application.
In addition to the existing Layout Editor in Android Studio, allowing easy creation and edition of UI with ConstraintLayout, we recently added a new Motion Editor in Android Studio 4.0, enabling you to quickly take advantage of MotionLayout in your projects.
It’s available from the google maven repository:
dependencies {
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-rc1'
}
or if using the android.support packages:
dependencies {
implementation 'com.android.support.constraint:constraint-layout:2.0.0-rc1'
}
Documentation is available on https://developer.android.com/reference/androidx/constraintlayout/widget/ConstraintLayout and
https://developer.android.com/reference/androidx/constraintlayout/motion/widget/MotionLayout
Examples are available on https://github.com/android/views-widgets-samples/tree/master/ConstraintLayoutExamples
Bugfixes
Here is the list of issues fixed in rc1. 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
layout_constrainedWidth doesn't not work in Flow's children | 157681357 |
NPE 's in Flow | 162261507 |
layout_constraintDimensionRatio stays applied after a move to another ConstraintSet in MotionLayout | 140263105 |
MotionLayout drag doesn't work after fling in RecyclerView | 141319444 |
[ConstraintLayout 2.0.0-beta3] NPE when deriveConstraintsFrom is invalid. | 143549617 |
apply layout_height="wrap_content" app:layout_constrainedHeight="true" this view height is full of constraint size when onCreat . And Then swich the view GONE/VISIBLE , the size change to the expected result | 149427470 |
Flow height is bigger than it should be when its height is `wrap_content` | 158285666 |
NullPointerException | 161061411 |
Penultimate ImageView shifted when adding more rows | 161063291 |
single element in the chain don't have bias applied | 161741571 |
MotionLayout : adding views to Flow Helper | 150940641 |
Resize in textview when I scroll in customized MotionLayout | 155215198 |
MotionLayout firing callback endlessly with GlobalLayout | 158068868 |
[Feature-Request] Addition of MotionScene.Transistion::getId. | 160395303 |
Incorrect barrier and referenced view placement in 2.0.0-beta8 | 161156064 |
layout_width="wrap_content" on the parent does not work correctly when a child View has layout_constraintDimensionRatio and layout_constraintHeight_percent in 2.0.0-beta8 | 161826272 |
possible MotionLayout memory leak | 161926837 |
Annotate ConstraintLayout constructor context param as not nullable | 161926849 |
Android resource compilation failed after implementation 'constraint-layout:2.0.0-beta8' | 162011618 |