Android 如何在Grid RecyclerView中的所有列上拉伸本机广告?

Android 如何在Grid RecyclerView中的所有列上拉伸本机广告?,android,android-recyclerview,android-gridview,gridlayoutmanager,native-ads,Android,Android Recyclerview,Android Gridview,Gridlayoutmanager,Native Ads,我在应用程序中使用基于RecyclerView的2列GridView 现在我想嵌入本地广告。当我这样做的时候,本地广告会被裁剪成一个单独的栏目,但我实际上想让本地广告在所有栏目上延伸到它们原来的大小 为了形象化我的意思,我附上了一个例子。这是Lovoo应用程序 如何使用RecyclerView做到这一点?根据Vipul Asri的提示,我发现了一些有效的方法 final GridLayoutManager gridLayoutManager = new GridLayoutManager(th

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

现在我想嵌入本地广告。当我这样做的时候,本地广告会被裁剪成一个单独的栏目,但我实际上想让本地广告在所有栏目上延伸到它们原来的大小

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


如何使用RecyclerView做到这一点?

根据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;
    }

尝试在gridlayout管理器中设置
SetPansizeLookup