1

我正在尝试创建一个具有两种不同类型项目的 GridView。

前几项将占据一整行。随着用户继续滚动,每行将开始显示两个项目,如下所示:

http://imgur.com/YFSUxVI

我怎样才能实现这种类型的网格视图?使用 iOS 的 UICollectionView 很容易做到这一点,但是我在 Android 上没有很多运气。任何帮助将不胜感激!

4

1 回答 1

3

这里最好的解决方案是:尝试使用带有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

于 2015-02-20T21:55:20.823 回答