android - 如何在 Grid-RecyclerView 中的所有列上拉伸(stretch)原生广告?

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

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

现在我想嵌入原生广告。当我这样做时,原生广告会被裁剪成一列,但实际上我想让原生广告在所有列上拉伸(stretch)到原始大小。

enter image description here 为了形象化我的意思,我附上了一个例子。这是 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;
    }

关于android - 如何在 Grid-RecyclerView 中的所有列上拉伸(stretch)原生广告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40795157/

相关文章:

android - React Native 与现有 Android 应用集成闪退

android - onCreate 方法中的 AsyncTask 和 setAdapter

Android - 要提供多大尺寸的图像?

android - 如何解决 eclipse "cannot be resolved"中的问题?

android - 可选择的RecyclerView性能问题

android - 如何确保不是每个人都可以使用ItemTouchHelper?

java - 无法在 RecyclerView 中显示项目

android - Android GridView 或等效项中的不同行高

android - Widget 中的 ListView + GridView

android - 我什么时候需要在 Gradle 依赖项中使用 Kapt?