简体   繁体   English

GridView:每20个项目添加一个自定义行

[英]GridView: Adding custom row every 20 items

I have a standard GridView displaying images. 我有一个显示图像的标准GridView。 I would like for every 20 items/images that are shown, a custom layout to be shown. 我希望每显示20个项目/图像,再显示一个自定义布局。

Here is an good example of what I mean: 这是我的意思的一个很好的例子:

在此处输入图片说明

Would anyone know how to achieve this? 有人知道如何实现这一目标吗? any advice is appreciated. 任何建议表示赞赏。 Thank you. 谢谢。

Would anyone know how to achieve this? 有人知道如何实现这一目标吗?

I did it. 我做的。 You can achieve this easily by using RecyclerView and GridLayoutManager and 2 view types in RecyclerView.Adapter . 您可以使用轻松实现这一RecyclerViewGridLayoutManager在2种视图类型RecyclerView.Adapter You can see codes below: With type TYPE_ADS , you span colum by 2. With normal item TYPE_ITEM , you don't span colum (means value = 1) 您可以在下面看到代码:使用TYPE_ADS类型TYPE_ADS ,将列跨2。使用普通项TYPE_ITEM ,您将不跨列(均值= 1)

mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view);
GridLayoutManager glm = new GridLayoutManager(this, 2);
glm.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
            @Override
            public int getSpanSize(int position) {
                switch(mAdapter.getItemViewType(position)){
                    case MyAdapter.TYPE_ADS:
                        return 2;
                    case MyAdapter.TYPE_ITEM:
                        return 1;
                    default:
                        return -1;
                }
            }
        });

mRecyclerView.setLayoutManager(glm); 
mRecyclerView.setAdapter(mAdapter);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM