- 17 1月, 2017 28 次提交
-
-
由 Takeshi Hagikura 提交于
- Preserve the flex items state across a configuration change in the demo app - Throw an Exception when order or alignContent which aren't supported by FlexboxLayoutManager are changed (setXXXX is invoked) - Clear the existing flex lines and views if an incompatible, in which prior views states or flex lines states can't be shared, attribute change happens (e.g. flex direction is changd from row to column)
-
由 Takeshi Hagikura 提交于
This PR fixes the view alignment along the cross axis when RV scrolls toward the start position and view's sizes along the cross axis in a same line are not the same.
-
由 Takeshi Hagikura 提交于
There was an issue that the anchor position was based on the last (or first when scrolling to top) item in the last (or first) visible flex line when scrolling to bottom (top). But the anchor position should be based on the flex line position (view which has the maximum bottom position in the same flex line)
-
由 Takeshi Hagikura 提交于
-
由 Takeshi Hagikura 提交于
Fix the stretching views calculation when the calculation happens from the middle of the items (#164) When the calculation of stretching views happen from the middle of the items, the flex line being processed needs to be the corresponding one depending on the index of the view. This PR correctly handles the flex line. E.g. A new item is added on the condition that RecyclerView is scrolled to the bottom and align items is set to stretch
-
由 Takeshi Hagikura 提交于
-
由 Takeshi Hagikura 提交于
For the case where: - align items attribute is set to stretch OR - align self attribute for individual flex item is set to stretch
-
由 Takeshi Hagikura 提交于
Becauase the views are laid out as a unit of a flex line, there might be inconsistency if views are recycled individually.
-
由 Takeshi Hagikura 提交于
-
由 Takeshi Hagikura 提交于
The crash happend because invalid next position is set in the fill method when the RecyclerView scrolls to top with the scroll speed too fast enough to put two or more flex lines in the fill method.
-
由 Takeshi Hagikura 提交于
In the RecyclerView, only the visible part of the RecyclerView is necessary to be rendered. Thus, not all the flex items need to be measured at first. This PR makes the flex lines to be calculated only the visible part. Also this PR removes the support for the order attribute from the FlexboxLayoutManger because calculating the order requires all view to be inflated at least once, which may lead to bad performance if there is a large number of items in the adapter.
-
由 Takeshi Hagikura 提交于
-
由 Takeshi Hagikura 提交于
Add support for the flex direction is set to row_reverse and the support for the RTL environment. (#149) Add support for the following case: - flex direction attribute is set to row_reverse - Language is set to one of the RTL languages
-
由 Takeshi Hagikura 提交于
-
由 Takeshi Hagikura 提交于
* Add support for the flex grow attribute for the FlexboxLayoutManager. This CL introduces a caches for measured width/height measure specs. Because in during the layout phase for the FlexboxLayoutManager, a view retrieved from the Recycler may be re-created from the last maesure, making the measured width/height set to 0 even if each child is at least measured once in the FlexboxHelper. So when the flex container is the FlexboxLayoutManager, the FlexboxHelper stores each measured width/height specs in the cache.
-
由 Takeshi Hagikura 提交于
FlexContainer and FlexItem interfaces are created to treat the two flex container implementations (FlexboxLayout and FlexboxLayoutManager) in a seamless manner but the visibility of the interfaces were marked as pubic despite that two interfaces were not intended to be used from external developers. This PR: - Makes the visibility of the two interfaces as package private - Moves some of the demo app files to the same package as the interfaces so that demo app can access the interfaces. - Change the item type of the FlexItemAdapter from FlexItem to RecyclerView.LayoutParams since abstraction layer wasn't needed, this class was used in only the RecyclerView path
-
由 Takeshi Hagikura 提交于
This PR extracts the calculation to determine the cross size of the flex container from FlexboxLayout to FlexboxHelper to reuse it from FlexboxLayoutManager.
-
由 Takeshi Hagikura 提交于
For reusing the logic from both FlexboxLayout and FlexboxLayoutManager, extract the logic to determine the main size of the flex lines. (Expand or shrink the flex lines depending on the flex grow/flex shrink attributes)
-
由 Takeshi Hagikura 提交于
Implement the rest of onLayoutChildren. This PR implements the basic layout and scrolling/recycling features for only the case where flexDirection = ROW and flexWrap = WRAP and the vertically scrolling.
-
由 Takeshi Hagikura 提交于
Extract the common logic to calculate the initial flex lines from the FlexboxLayout to FlexboxHelper to re-use it from the FlexboxLayout and the FlexboxLayoutManager.
-
由 Takeshi Hagikura 提交于
-
由 Takeshi Hagikura 提交于
This PR adds a Fragment that contains RecyclerView as its playground implementation. And from the RadioGroup in the navigation view, two implementations can be switched (ViewGroup and RecyclerView). The FlexboxLayoutManager doesn't have any layout/measurement logic at all. Thus when the Fragment for RecyclerView is chosen, no views are displayed regardless of the items in the adapter.
-
由 Takeshi Hagikura 提交于
Refactor the demo app to make it easy to reuse the common part across the playground that uses FlexboxLayout and RecyclerView.LayoutManager. To make it easy to reuse the common part across the playground that uses FlexboxLayout and RecyclerView.LayoutManager by extracting the common logic from the MainActivity into other classes. Follow up CL is in Progress to add a Fragment for RecyclerView.LayoutManager.
-
由 Takeshi Hagikura 提交于
Adds the methods that FlexboxLayout and FlexboxLayoutManager have in common in calculating the flexbox layout. Change-Id: Ib0e0159cf0ea2cdc4f9c38020f4b34ec5eb2e537
-
由 Takeshi Hagikura 提交于
Extract the common behavior of a flex item as a dedicated interface to treat the known subclasses (such as FlexboxLayout.LayoutParams and FlexboxLayoutManager.LayoutParams) equally from the flexbox calculation point of view. Remove the FlexItem class in the demo app that was used as a Parcelable. Now FlexboxLayout.LayoutParams and FlexboxLayoutManager.LayoutParams both implement Parcelable.
-
由 Takeshi Hagikura 提交于
-
由 Takeshi Hagikura 提交于
* Extract the common part of the flexbox logic to reuse it from the FlexboxLayaoutManager. Change-Id: I92c4b2971badcde2d9afcf63d1785137def0abcb * Address review comments from yaraki Change-Id: Ibbe585fa470fbd4426db64d08278051fddacc85e * Address the second round of review from yaraki and yigit. Change-Id: I1e532edacba274c6374deb15b868b0cc7b6d83a6
-
由 Takeshi Hagikura 提交于
-
- 22 12月, 2016 1 次提交
-
-
由 Takeshi Hagikura 提交于
-
- 19 12月, 2016 1 次提交
-
-
由 Takeshi Hagikura 提交于
This PR fixes the incorrect alignment where: - justifyContent is set to either or space_between or space_around - Views whose visibitilies are gone are included in a flex line Also use the number of item count, which the number of gone items are filtered where appropriate. Fixes #162
-
- 12 12月, 2016 1 次提交
-
-
由 Takeshi Hagikura 提交于
-
- 08 12月, 2016 1 次提交
-
-
由 Takeshi Hagikura 提交于
-
- 07 12月, 2016 1 次提交
-
-
由 Takeshi Hagikura 提交于
This PR fixes the case where: - layout_width is set to wrap_content for the FlexboxLayout - End (or start) margin is set to a child - The child which the has the end (start) margin has the largest width in the same flex line (or only a single child exists) - The child has a positive layout_flexGrow (or layout_flexShrink) attribute set If these conditions were met, the width of the FlexboxLayout didn't take the bottom margin on the child into account. Fixes #154
-
- 24 11月, 2016 1 次提交
-
-
由 Takeshi Hagikura 提交于
-
- 21 11月, 2016 3 次提交
-
-
由 Takeshi Hagikura 提交于
-
由 Takeshi Hagikura 提交于
- AlignItems (or AlignSelf) is set to center - Margin is set to only one side. E.g. Only right when flexDirection is column
-
由 Takeshi Hagikura 提交于
Remove the gcloud installation part during a build is running
-
- 16 11月, 2016 2 次提交
-
-
由 Takeshi Hagikura 提交于
-
由 Takeshi Hagikura 提交于
- flex direction is set to row (or row_reverse) - FlexboxLayout has a TextView (or other views that expand vertically if not enough space is left horizontally) - TextView's layout_width is set to 0dp, layout_height is set to wrap_content and layout_flexGrow is set to positive In the situation above, the initial height of the TextView is calculated as bigger than the actual height because at first the width is set to 0dp, so the TextView is trying to expand vertically, but actually the height needs to be measured again with the expanded width (by setting the layout_flexGrow attribute)
-
- 21 10月, 2016 1 次提交
-
-
由 Takeshi Hagikura 提交于
to simplify the test code.
-