StaggeredGrid,项目跨越2列

时间:2015-03-30 11:11:25

标签: android android-layout android-custom-view

我需要实现一个StaggeredGrid视图,如下所示:

layout

项目将动态添加,因此必须可滚动(作为一个整体)并回收视图。

我见过经典交错网格的解决方案,包括2列和不同高度的项目,但似乎没有一个能够处理跨越2列的项目。

我已阅读有关新RecyclerView的帖子,这似乎更灵活,但似乎我必须实现我自己的LayoutManager,因为我对Android相对较新,看起来有点令人生畏。

您认为最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

我有类似的要求。我调整了视图的大小以占用额外的空间。我使用的逻辑是:让每个块具有固定高度h,如果任何块具有其高度H使得H%h!= 0然后增加块的高度,其余为H%h,使得它变为倍数h

例如,如果你将每个块的高度固定为10dp,如果块有5,则将其增加到10.如果块有31,则将其增加到40,即使高度为10的倍数。 要增加高度,您应该在视图中添加一个带有白色背景的空视图,以使其看起来是空白空间而不是块的一部分