我正在尝试创建一个具有两种不同类型项目的 GridView。
前几项将占据一整行。随着用户继续滚动,每行将开始显示两个项目,如下所示:
我怎样才能实现这种类型的网格视图?使用 iOS 的 UICollectionView 很容易做到这一点,但是我在 Android 上没有很多运气。任何帮助将不胜感激!
我正在尝试创建一个具有两种不同类型项目的 GridView。
前几项将占据一整行。随着用户继续滚动,每行将开始显示两个项目,如下所示:
我怎样才能实现这种类型的网格视图?使用 iOS 的 UICollectionView 很容易做到这一点,但是我在 Android 上没有很多运气。任何帮助将不胜感激!
这里最好的解决方案是:尝试使用带有GridLayoutManager的RecyclerView并使用SpanSizeLookup设置列的跨度。
你可以在这里找到一个类似的问题,并以一个很好的例子开始。
基本上你应该实现回调SpanSizeLookup
并根据项目的位置,或者可能更好的类型,你将设置正确的跨度。
mLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
switch(mAdapter.getItemViewType(position)){
case YourGridAdapter.TYPE_THREESPAN:
return 3;
case YourGridAdapter.TYPE_ITEM:
return 1;
}
}
});
如果您正在考虑创建自己的 LayoutManager,请查看精彩的库TwoWay View