0

我的原生广告有问题。如果我将广告指定为 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 显示:

没有足够的空间来加载广告需要 360x80dp 但只有 319x80dp。

有任何想法吗?

4

1 回答 1

0

我必须删除从生成的选项卡式活动中引入的填充:

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

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

这允许更大的宽度,以便广告出现。希望它可以帮助某人

于 2017-08-25T22:12:16.867 回答