- 27 1月, 2017 4 次提交
-
-
由 Takeshi Hagikura 提交于
-
由 Takeshi Hagikura 提交于
-
由 Takeshi Hagikura 提交于
- Remove the comment about the scrolling along the main axis (Scroll only happens along the cross axis) - Replace the launcher icon for the cat gallery app
-
由 Takeshi Hagikura 提交于
When involed like scrollToPosition(10), the 10th item should be visible either at the top or at the bottom. (Depending on the current visible position)
-
- 24 1月, 2017 1 次提交
-
-
由 Takeshi Hagikura 提交于
Make the FlexboxLayoutManager work with ItemDecorations and add a default ItemDecoration implementation that can be used in the FlexboxLayoutManager.
-
- 20 1月, 2017 1 次提交
-
-
由 Takeshi Hagikura 提交于
Makes the FlexboxLayoutManager restore the saved state such as the first visible view and its offset after a configuration change (such as a screen rotation)
-
- 19 1月, 2017 1 次提交
-
-
由 Takeshi Hagikura 提交于
-
- 18 1月, 2017 1 次提交
-
-
由 Takeshi Hagikura 提交于
Add a cat gallery demo app to demonstrate the usage of FlexboxLayoutManager in the RecyclerView. (#181)
-
- 17 1月, 2017 32 次提交
-
-
由 Takeshi Hagikura 提交于
The anchor view should be the view, which has the - minimum start position for the start anchor - maximum end position for the end anchor but if the view in the middle of the first visible flex line (or last visible flex line for the end anchor) had the minimum start position, the anchor position wasn't picked correctly. This PR fixes the issue.
-
由 Takeshi Hagikura 提交于
Detach the existing views instead of removing them in the onLayoutChildren for better performance (#178) When a view holder is retrieved from the detached state (scrap) is doesn't go through the Adapter, thus it should be more optimized than re-creating fro the Adapter.
-
由 Takeshi Hagikura 提交于
- Flex line has multiple flex itmes. - Flex grow attributes for some items are set to positive, the rest of the items have the default value - The item which hasn't the positive flex grow attribute has the largest cross size
-
由 Takeshi Hagikura 提交于
Fix the issue an item being edited is changed before the user clicks the ok button in the demo app. (#176)
-
由 Takeshi Hagikura 提交于
RecyclerView implementation is selected.
-
由 Takeshi Hagikura 提交于
-
由 Takeshi Hagikura 提交于
When scrolling to top, the anchor position of the first visible position was wrong when flex direction is set to row_reverse. This PR fixes that issue.
-
由 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.
-