GridView:每20个项目添加自定义行 [英] GridView: Adding custom row every 20 items
问题描述
我有一个标准的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屋!