Android 如何使用StaggedGridLayoutManager在订单中创建不同大小的项目?

Android 如何使用StaggedGridLayoutManager在订单中创建不同大小的项目?,android,staggered-gridview,staggeredgridlayout,Android,Staggered Gridview,Staggeredgridlayout,我有一个包含不同类别项目的列表。例如,我有4个列表,并按如下方式合并它们: list1 = A,A,A,A list2 = B,B,B,B list3 = C,C,C,C list4 = D,D,D,D mergedList=A,B,C,D,A,B,C,D,A,B,C,D,A,B,C,D 我将这些合并如下: list1 = A,A,A,A list2 = B,B,B,B list3 = C,C,C,C list4 = D,D,D,D mergedList=A,B,C,D,A,B,C,D,A

我有一个包含不同类别项目的列表。例如,我有4个列表,并按如下方式合并它们:

list1 = A,A,A,A
list2 = B,B,B,B
list3 = C,C,C,C
list4 = D,D,D,D
mergedList=A,B,C,D,A,B,C,D,A,B,C,D,A,B,C,D
我将这些合并如下:

list1 = A,A,A,A
list2 = B,B,B,B
list3 = C,C,C,C
list4 = D,D,D,D
mergedList=A,B,C,D,A,B,C,D,A,B,C,D,A,B,C,D
所有列表项可能具有不同的大小,我想将所有A项定位到第一个范围,B项定位到第二个范围,C-D项定位到相同的范围


但项目总是位于不同的跨度中。因为项目大小不同,有些项目是在小项目之后创建的,而不是在下一个跨度中创建的。有没有办法用StaggedGridLayoutManager解决这个问题?

我已经解决了这个问题。StaggedGridLayoutManager每次都将下一项添加到最小范围。您应该计算跨度宽度并从匹配列表中选择项目。

我已经解决了这个问题。StaggedGridLayoutManager每次都将下一项添加到最小范围。您应该计算跨度宽度,并从匹配列表中选择项目