【问题标题】:Create a GridView with Two Different Columns创建具有两个不同列的 GridView
【发布时间】:2015-02-20 20:55:49
【问题描述】:

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

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

http://imgur.com/YFSUxVI

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

【问题讨论】:

    标签: android gridview android-recyclerview gridlayoutmanager


    【解决方案1】:

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

    【讨论】:

    • 非常感谢,我会看看这个并报告我的结果!
    • 告诉我。不要忘记将布局管理器的列跨度设置为您需要的最大跨度数
    猜你喜欢
    • 2014-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-02
    • 1970-01-01
    • 2013-09-30
    • 1970-01-01
    相关资源
    最近更新 更多