We are happy to announce the release of ConstraintLayout 2.0 beta 7.
It’s available from the google maven repository:
dependencies {
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta7'
}
or if using the android.support packages:
dependencies {
implementation 'com.android.support.constraint:constraint-layout:2.0.0-beta7'
}
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 beta 7. Notable fixes are:
- Nested scroll view issues in MotionLayout
- Transition listener issues with MotionLayout
- Memory leak in MotionLayout
- RecyclerView performances
- Group visibility
- Padding issues
| [2.0.0-beta4] First tap lost in a scrolling view contained in a MotionLayout | 146413738 |
| ConstraintLayout should with wrap_content match the heighest child | 156556215 |
| constraintSet.applyTo(...) when called two or more times in a row, sometimes doesn't work. | 156556217 |
| ConstraintLayout show different preview since 2.0.0-beta5 | 156582652 |
| [2.0.0-beta6] onTransitionCompleted called multiple times and with an id of -1 | 157003182 |
| ConstraintLayout 2.0 incorrectly applies paddingEnd to RHS of views in RTL | 157072539 |
| [2.0.0-beta6] MotionLayout + RecyclerView binding all items before recycling all but visible again | 157075835 |
| Memory leaks when scrolling using MotionLayout | 157370588 |
| Flinging through ConstaintLayouts (beta-6) in RecyclerView causes loop | 157498393 |
| match_constraint can sometimes be collapsed incorrectly | 157498451 |
| MotionLayout leaks nested scrollable view in its mScrollTarget field | 158494145 |
| onTransitionCompleted is not always called | 149423772 |
| RTL issue paddingStart/End working like left/right | 156448748 |
| group visibility doesn't apply correctly in 2.0 beta 6 | 157599997 |
| wrap_content on ConstraintLayout itself does not behave as it should with wrapped TextView | 111110537 |
| MotionLayout: OnSwipe doesn't work after transitioning to a third state | 135130730 |
| [MotionLayout 2.0.0-beta2] TransitionListener triggers callbacks incorrectly | 135627413 |
| Motionlayout crash if count of custom attributes in constraint more than count of constraint sets | 136362587 |
| MotionLayout throwing ArrayIndexOutOfBoundsException when adding more than three CustomAttribute elements | 144151823 |
| [MotionLayout] Add a `addTransitionListener` method rather than a setter | 144714753 |
| Constraint Layout without any children views with height wrap_content takes full parent height | 146698785 |
| ImageFilterButton NPE GLES20Canvas.clipPath() | 147871162 |
| [Motion Layout] Jiggling if we fling nested recycler and than move content into opposite direction | 148483381 |
| [2.0.0-beta4] Motion layout jumps to the end when Recycler view is a touch region | 150268542 |
| RecyclerView#onScrollStateChanged delayed when child of MotionLayout | 150881510 |
| CL 2.0.0 Beta 4 rendering issue | 151317170 |
| Nested ConstraintLayout doesn't show correctly with data binding | 151648853 |
| ImageFilterView is not showing background when roundPercent > 0 is set on API < 21 | 153243019 |
| beta 6 : wrap content + align baselines | 156660905 |
| [MotionLayout] strange behavior in auto transition | 157351958 |
| [2.0.0-beta6] no pass through of `baseline_toBaselineOf` when View is GONE | 157401856 |
| maxHeight + padding | 157448494 |
| MotionLayout with RecyclerView has messed up click listeners | 157501464 |
| MotionLayout ImageFilterView roundPercentage doesn't work after you set to 0.0 | 147094777 |
| addToVerticalChain: Incorrect connections when adding to the top of a chain. | 149173288 |