Releases: google/flexbox-layout
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
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 Flexitem
s 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
1.1.0
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
Semantic versioning
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.
New features
- Added "space-evenly" support as one of the justifyContent values. #284
- Added maxLine attribute support, that specifies the maximum number of flex lines #156
Bug fixes
0.3.2
0.3.1
Backward incompatible changes
- Raised minSdkVersion from 9 to 14.
Bug fixes
- 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!
New features
Bug fixes
- 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
Backward incompatible changes
-
FlexboxLayout
can 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.ROW
FlexboxLayout.FLEX_WRAP_WRAP
->FlexWrap.WRAP
FlexboxLayout.JUSTIFY_CONTENT_FLEX_START
->JustifyContent.FLEX_START
FlexboxLayout.ALIGN_ITEMS_FLEX_START
->AlignItems.FLEX_START
FlexboxLayout.ALIGN_CONTENT_FLEX_START
->AlignContent.FLEX_START
-
Attributes in
FlexboxLayout.LayoutParams
are now accessible through getter/setter methods instead of accessing to the instance fields directly. For example changing thewrapBefore
attribute can be done in a following manner:FlexboxLayout.LayoutParams lp = (FlexboxLayout.LayoutParams) view.getLayoutParams(); lp.setWrapBefore(true);