Android Admob没有足够的空间来展示广告

RDX*_*RDX 1 android space admob android-linearlayout android-xml

使用了admob站点中提供的代码

这是我的xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/background_img"
    android:orientation="vertical"
    android:id="@+id/atozlayout"
     >
<GridView 
    android:id="@+id/gridView1"
    android:numColumns="auto_fit"
    android:gravity="center"
    android:columnWidth="55dp"
    android:stretchMode="columnWidth"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"    
    android:horizontalSpacing="10dp"
   android:verticalSpacing="10dp"  

    >

</GridView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

但是logcat显示了E/Ads(4244):没有足够的空间来展示广告!想要:<480,75>,有:<800,0>

似乎布局正在创建问题.请提出修复方法.非常感谢.

Rob*_*ond 6

您的网格占用了layout_height ="fill_parent"的所有空间.

您可以使用layout_weight ="1"layout_height ="0dp"告诉网格在显示其他视图后占用所有剩余空间.

您还以编程方式添加AdView吗?您可以将它放在GridView下面的xml中.

例如:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/background_img"
    android:orientation="vertical"
    android:id="@+id/atozlayout"
     >
<GridView 
    android:id="@+id/gridView1"
    android:numColumns="auto_fit"
    android:columnWidth="55dp"
    android:stretchMode="columnWidth"
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:horizontalSpacing="10dp"
   android:verticalSpacing="10dp">

</GridView>
<com.google.ads.AdView android:id="@+id/adView"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
                     ads:adUnitId="MY_AD_UNIT_ID"
                     ads:adSize="BANNER"
                     ads:testDevices="TEST_EMULATOR, TEST_DEVICE_ID"
                     ads:loadAdOnCreate="true"/>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

确保将adUnitId替换为您的值.