我在我的应用程序中使用基于RecyclerView的2列GridView。
现在我想嵌入原生广告。当我这样做时,原生广告会被裁剪成一个列,但实际上我希望将原生广告扩展到所有列,直到原始大小。
为了形象化我的意思,我附上了一个例子。这是Lovoo应用程序
如何使用RecyclerView完成此操作?
答案 0 :(得分:1)
根据Vipul Asri的提示,我发现了一些有用的东西
final GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 2);
gridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
switch (listAdapter.getItemViewType(position)) {
case ViewType.DEFAULT_ITEM_TYPE:
return 1;
case ViewType.AD_ITEM_TYPE:
return gridLayoutManager.getSpanCount();
default:
return -1;
}
}
});
并在你的适配器中像这样
@Override
public int getItemViewType(int position) {
if (isAd(position))
return ViewType.AD_ITEM_TYPE;
return ViewType.DEFAULT_ITEM_TYPE;
}