我试图创建一个包含两种不同类型项目的GridView。
前几项将占用整整一行。当用户继续滚动时,每行将开始显示两个项目,如下所示:
如何实现此类网格视图?使用iOS的UICollectionView很容易做到这一点,但我在Android上没有这么好运。任何帮助将不胜感激!
答案 0 :(得分:3)
此处的最佳解决方案是:尝试将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