Flexbox for Android
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.
Bug fix release
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.
Bug fixes
From 1.1.0 moving forward, the library is going to depend on the androidx artifacts. No API changes from the flexbox library point of view.
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.
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.
compileOnly
instead of api
not to force the dependent of the flexbox-layout projects to use the specific version of the support libraries (or explicitly exclude them). (#395)Stable release including RecyclerView integration!
FlexboxLayoutManager
is now stable. #2FlexboxLayoutManager
can now scroll both directions #215FlexboxLayout
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 the wrapBefore
attribute can be done in a following manner:
FlexboxLayout.LayoutParams lp = (FlexboxLayout.LayoutParams) view.getLayoutParams();
lp.setWrapBefore(true);