没有足够的空间展示广告(AdMob)

Rav*_*avi 12 layout android admob

我正在尝试在我的活动中展示AdMob广告,但它总是给出"没有足够的展示广告空间"的错误.

我的XML文件是:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <com.google.ads.AdView
        android:id="@+id/adMobadView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        ads:adSize="BANNER"
        ads:adUnitId="@string/admobid"
        android:layout_alignParentBottom="true"
        android:gravity="bottom|center_horizontal"
        ads:loadAdOnCreate="true" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

我的Java文件:

    AdView ad=(AdView)findViewById(R.id.adMobadView);

    AdRequest re = new AdRequest();
    re.setTesting(true);
    re.setGender(AdRequest.Gender.FEMALE);
    ad.loadAd(re);
Run Code Online (Sandbox Code Playgroud)

LogCat:

   02-18 14:16:17.869: W/webcore(813): Can't get the viewWidth after the first layout
   02-18 14:16:17.979: I/Ads(813): onReceiveAd()
   02-18 14:16:17.979: W/Ads(813): Not enough space to show ad! Wants: <320, 50>, Has: <288, 430>
Run Code Online (Sandbox Code Playgroud)

Wil*_*iam 30

RelativeLayout的左右填充占用了AdView所需的空间.

将RelativeLayout配置更改为:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 ...
 android:paddingLeft="0dp"
 android:paddingRight="0dp"
 ...
>
Run Code Online (Sandbox Code Playgroud)

您可能还想将AdView配置更改为:

<com.google.ads.AdView
        android:id="@+id/adMobadView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        ...
        />
Run Code Online (Sandbox Code Playgroud)

因为您并不希望AdView使用整个屏幕.