如何在Grid-RecyclerView中的所有列上展开原生广告?

时间:2016-11-24 22:14:10

标签: android android-recyclerview android-gridview gridlayoutmanager native-ads

我在我的应用程序中使用基于RecyclerView的2列GridView。

现在我想嵌入原生广告。当我这样做时,原生广告会被裁剪成一个列,但实际上我希望将原生广告扩展到所有列,直到原始大小。

enter image description here 为了形象化我的意思,我附上了一个例子。这是Lovoo应用程序

如何使用RecyclerView完成此操作?

1 个答案:

答案 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;
    }