Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 不同大小的卡_Android_Gridview_Android Recyclerview_Android Cardview_Cardview - Fatal编程技术网

Android 不同大小的卡

Android 不同大小的卡,android,gridview,android-recyclerview,android-cardview,cardview,Android,Gridview,Android Recyclerview,Android Cardview,Cardview,如何使recycleView中有不同大小的卡片?(1x1、1x2和2x1,其中1是卡的长度) 您可以创建两个视图保持架。其中一人持有同一行的两张牌,另一人持有整行的一张牌。它肯定会像你发布的图片。要实现具有多个视图持有者的回收器视图,请签出。您可以使用具有不同跨度计数的GridLayoutManager。 这里有一些例子 在活动中: //Initialize recyclerView and adapter before GridLayoutManager layoutManager = new

如何使
recycleView
中有不同大小的卡片?(1x1、1x2和2x1,其中1是卡的长度)

您可以创建两个视图保持架。其中一人持有同一行的两张牌,另一人持有整行的一张牌。它肯定会像你发布的图片。要实现具有多个视图持有者的回收器视图,请签出。

您可以使用具有不同跨度计数的
GridLayoutManager

这里有一些例子

在活动中:

//Initialize recyclerView and adapter before
GridLayoutManager layoutManager = new GridLayoutManager(this, 2);
recyclerView.setLayoutManager(layoutManager);
recyclerView.setAdapter(adapter);

layoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
            @Override
            public int getSpanSize(int position) {
                    if (adapter.isHeader(position)) {
                        //Returns span count 2 if method isHeader() returns true. 
                        //You can use your own logic here.
                        return  mLayoutManager.getSpanCount()
                    } else {
                         return 1;
                    }
                }
            }
        });
并将此方法添加到适配器类:

public boolean isHeader(int position) {
        return position == 0;//you can use some other logic in here
    }