原生 Ad Express Admob 仅在我将宽度和高度指定为某个 dp 时才会显示

Native Ad Express Admob only shows if I specify the width and height to a certain dp

我的原生广告有问题。如果我将广告指定为 320x80,该广告就会出现。但是我需要不同设备的宽度不同所以我正在尝试这个:

  <com.google.android.gms.ads.NativeExpressAdView
        android:id="@+id/adView"
        android:layout_width="wrap_content"
        android:layout_height="80dp"
        android:layout_gravity="center_horizontal"
        android:visibility="visible"
        ads:adUnitId="ca-app-pub-3940256099942544/2793859312"
        ads:adSize="FULLWIDTHx80"></com.google.android.gms.ads.NativeExpressAdView>

这不起作用,当我使用 wrap_content 它只是不显示广告。

所以我试过了:

 // find out the width of the device in dp
        DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
        float deviceWidthInDp = displayMetrics.widthPixels / displayMetrics.density;
        int adWidth = (int)(deviceWidthInDp);

        adView = new NativeExpressAdView(context);
        adView.setAdUnitId("ca-app-pub-3940256099942544/2793859312");
        adView.setAdSize(new AdSize(adWidth, 80));

这也不显示广告。

Logcat 正在显示:

space 加载广告需要 360x80dp 但只有 319x80dp。

有什么想法吗?

我不得不删除从生成的选项卡 Activity 中引入的填充:

对于每个 tab.xml 即 tab1.xml tab2.xml:

android:paddingRight="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_vertical_margin"

这允许更大的宽度,以便显示广告。希望对某人有所帮助