将 GridLayoutManager 与 RecyclerView 一起使用时出现 Admob 问题
Admob issue when using GridLayoutManager with RecyclerView
我有一个 GridLayoutManager
的 recyclerview,其 spancount
为 3。我有两种视图类型 - 一种用于 recyclerview 项目,一种用于 ads(admob)
。以下是我的 spancount
为 3
时的结果
您可以看到广告是不可见的,现在当我将 spancount
更改为 1 时它变得可见,如下所示
我认为这是因为 admob 广告不支持这些尺寸,有解决办法吗?
即使我尝试硬编码广告尺寸,广告也没有显示
我的问题是有没有一种方法可以将 GridLayoutManager
和 spancount
作为 3
的 adview 放入我的 recyclerview
是的,这是可能的。您所要做的就是像下面这样在您的布局管理器上调用 setSpanSizeLookup
mLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
if (position % MainActivity.ITEMS_PER_AD == 0) {//your condition for showing ad
return 3;//replace 3 with the number of items in each row
}
return 1;
}
});
然后将布局管理器设置为您的 recyclerview。
我有一个 GridLayoutManager
的 recyclerview,其 spancount
为 3。我有两种视图类型 - 一种用于 recyclerview 项目,一种用于 ads(admob)
。以下是我的 spancount
为 3
您可以看到广告是不可见的,现在当我将 spancount
更改为 1 时它变得可见,如下所示
我认为这是因为 admob 广告不支持这些尺寸,有解决办法吗?
即使我尝试硬编码广告尺寸,广告也没有显示
我的问题是有没有一种方法可以将 GridLayoutManager
和 spancount
作为 3
是的,这是可能的。您所要做的就是像下面这样在您的布局管理器上调用 setSpanSizeLookup
mLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
if (position % MainActivity.ITEMS_PER_AD == 0) {//your condition for showing ad
return 3;//replace 3 with the number of items in each row
}
return 1;
}
});
然后将布局管理器设置为您的 recyclerview。