我正在尝试创建一个包含两种不同类型项目的 GridView。
前几项将占据一整行。随着用户继续滚动,每行将开始显示两个项目,如下所示:
如何实现这种 GridView ?使用 iOS 的 UICollectionView 很容易做到这一点,但是我在 Android 上没有太多运气。任何帮助将不胜感激!
最佳答案
这里最好的解决方案是:尝试使用 RecyclerView用GridLayoutManager并使用 SpanSizeLookup 设置列的跨度.
你可以找到一个类似的问题here以一个很好的例子开始。
基本上,您应该实现回调 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
关于android - 创建具有两个不同列的 GridView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28638022/