3.0.0
Artifacts are now hosted on google maven
Starting from 3.0.0 and moving forward, this library is hosted on google maven.
In relation to the change of the hosted server, the groupId of this library was changed from com.google.android to com.google.android.flexbox. Old versions of libraries are still hosted on JCenter as read only mode.
2.0.1
Bug fix release
- Flexline width exceeds container width (#521)
- Take CompoundButtons drawables min size into account during measurements (#528)
2.0.0
Performance improvements by avoiding child views are measured more than twice #46
The version 2.0.0 improves the performance significantly especially FlexboxLayout is deeply nested.
As described in #514, there were unnecessary measure calls even if any Flexitems in a FlexLine didn't have any flexGrow or flexShrink attributes set.
Similarly, the default values for alignItems and alignContent for FlexboxLayout has changed from stretch to flex_start starting from 2.0.0 because setting stretch for alignItems turned out to be expensive. Setting the default value as stretch might increase the unnecessary measure calls.
This is a major version release because the change may break the existing apps.
1.1.1
Bug fixes
- Fixes the wrong positioning (#470)
- Add JustifyContent.SPACE_EVENLY to IntDef (#489)
- canScrollHorizontally() throws NPE if the RecyclerView is not attached to the Window (#490)
- Update the API level to 29 (#509)
1.1.0-beta1
Support AndroidX.
AndroidX libraries are still in beta versions, so this release is not from the master branch.
Once AndroidX becomes stable, we'll merge the androidx branch to master.
1.0.0
Start to follow the semantic versioning. flexbox-layout has been considered as stable for a while, but the version wasn't updated to 1.x. From this release on, the library starts to follow the semantic versioning.
- Added "space-evenly" support as one of the justifyContent values. #284
- Added maxLine attribute support, that specifies the maximum number of flex lines #156
- Crash in using DiffUtil #425
- Change proguard rule to keep FlexboxLayoutManager to keepnames to avoid FlexboxLayoutManager is left even if it's not used #426
0.3.2
- Raised the targetSdkVersion to 27
- Made the support library dependencies as
compileOnlyinstead ofapinot to force the dependent of the flexbox-layout projects to use the specific version of the support libraries (or explicitly exclude them). (#395)
0.3.1
- Raised minSdkVersion from 9 to 14.
- Dividers stop being displayed between all visible items once you set visibility as "gone" of one of those items (#357)
- Flexbox not respecting children margins added programmatically (#356)
- Horizontal margins are ignored on devices with API level < 17 for the calculation to judge is a wrapping is required (#353)
- Fix the baseline calculation above API Level 24+ (#341)
0.3.0
Stable release including RecyclerView integration!
FlexboxLayoutManageris now stable. #2FlexboxLayoutManagercan now scroll both directions #215
- no need to measure child when it is GONE #170
- Removed the set of methods from FlexLine to retrieve the positions of it. #244
- Layout becomes invisible if the first item is gone and the first line only contains the invisible view. #283
- Fixes the issue that the index of the view becomes inconsistent #311
- Horizontal scroll isn't handled correctly when layout direction is RTL and flex direction is row or row_reverse #318
- Scroll direction is broken when flexDirection is column or column_reverse and layout direction is RTL #319
-
FlexboxLayoutcan be used in the same manner as the 0.2.x versions, but Flexbox specific constants are now defined in each individual class such as: (including other values (such as FLEX_END, STRETCH) are now moved to each individual class.)FlexboxLayout.FLEX_DIRECTION_ROW->FlexDirection.ROWFlexboxLayout.FLEX_WRAP_WRAP->FlexWrap.WRAPFlexboxLayout.JUSTIFY_CONTENT_FLEX_START->JustifyContent.FLEX_STARTFlexboxLayout.ALIGN_ITEMS_FLEX_START->AlignItems.FLEX_STARTFlexboxLayout.ALIGN_CONTENT_FLEX_START->AlignContent.FLEX_START
-
Attributes in
FlexboxLayout.LayoutParamsare now accessible through getter/setter methods instead of accessing to the instance fields directly. For example changing thewrapBeforeattribute can be done in a following manner:FlexboxLayout.LayoutParams lp = (FlexboxLayout.LayoutParams) view.getLayoutParams(); lp.setWrapBefore(true);
