RecyclerView的LayoutManager具有不同的项目宽度

时间:2017-05-13 17:52:24

标签: android android-recyclerview

我有一个RecyclerView,我使用StaggeredGridLayoutManager作为其布局管理器。每个项目都有不同的宽度,我不知道每个项目有多宽。
我的代码:

StaggeredGridLayoutManager stagedLayoutManager = new StaggeredGridLayoutManager(4, VERTICAL);
recyclerView.setLayoutManager(stagedLayoutManager);

结果有些东西看起来像这样: enter image description here

但我希望有一些看起来像这样的东西:enter image description here

请指导我如何实现这个目的?感谢

1 个答案:

答案 0 :(得分:1)

StaggeredGridLayoutManager适用于网格。您将其设置为垂直4列,因此它将有4列。

现在每列中的每个项目都可以有不同的高度,它会“错开”。但是每个项目仍占据整个栏目。

这将适用于宽度和高度。它仍然是一个网格,每个项目都将获得列的整个宽度(或行的高度,如果你使它成为水平)。

您必须编写自己的LayoutManager或尝试使用FlexBoxLayout (still alpha),这可能是您想要的。