1
我正在尝试创建一个布局管理器,它将水平放置它的子级,直到遇到回收器视图的宽度。如果到达边缘,它应该布置下一行的孩子。
例如假设有在回收站视图4项 - item1
,item2
,item3
和item4
。 将item1
和item2
的视图排列在彼此的旁边。还剩下一些空间。但item3's
视图不能适应该宽度。所以item3
去下一行。但剩下的差距现在应该在item1
和item2
之间平分。为RecyclerView创建可变列大小布局管理器
| <item1><item2><--gap-->|
|<-----item3----> |
这应该成为
| <--item1--> <--item2-->|
|<-----item3----> |
如果item4's
视图item3
后的空间内配合,应该有布局。
| <--item1--> <--item2--> |
|<-----item3----><-item4->|
这无法通过GridLayoutManager
或StaggeredGridLayoutManager
来实现,因为他们没有考虑到不同的个人物品的宽度。
要编写自定义布局管理器,我有一种感觉,我应该重写onLayoutChildren
布局管理器的方法。但是我现在有点卡住了。我不知道如何去做这件事。任何帮助,将不胜感激。 谢谢。