GridView:每20个项目添加自定义行 [英] GridView: Adding custom row every 20 items

查看:113
本文介绍了GridView:每20个项目添加自定义行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个标准的GridView显示图像。我想每显示20件商品/图片,就会显示自定义布局。

I have a standard GridView displaying images. I would like for every 20 items/images that are shown, a custom layout to be shown.

下面是我的意思的一个很好的例子:

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?

我做到了。您可以通过使用 RecyclerView GridLayoutManager 以及2个视图类型轻松实现 RecyclerView.Adapter
您可以在下面看到代码:使用类型 TYPE_ADS (RecyclerView)findViewById(R.id.recycler_view),您不跨越colum(意味着value = 1)

I did it. You can achieve this easily by using RecyclerView and GridLayoutManager and 2 view types in 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)

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);

这篇关于GridView:每20个项目添加自定义行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆