使用列表视图添加到布局时,Adview不可见

时间:2011-10-28 20:27:50

标签: android listview adview

我正在尝试使用listView将adView添加到我的布局中,但出于某种原因,adview不会显示。它适用于其他活动,但不会显示在带有listView的活动上。 这是我正在使用的代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">

  <com.google.ads.AdView android:id="@+id/adView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        ads:adUnitId="ID"
        ads:adSize="BANNER"
        ads:loadAdOnCreate="true"/>

  <ListView android:id="@+id/listView1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"/>

</LinearLayout>

有什么想法吗?

2 个答案:

答案 0 :(得分:-1)

我总是发现布局有点棘手。对于listView,您是否尝试将android:layout_width设置为与父级匹配?我经常发现我不得不在各种XML对象中弄乱这些参数。如果可能的话,还可以尝试取出(临时)ListView并查看广告是否显示。

答案 1 :(得分:-1)

问题是列表视图设置为填充父级。所以它占据了整个屏幕,并推开了广告。 至少有两种解决方案: 最简单的, 将android:layoutWeight =“1”添加到每个节点。这告诉他们共享空间

 <com.google.ads.AdView android:id="@+id/adView"
        android:layout_weight="1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        ads:adUnitId="ID"
        ads:adSize="BANNER"
        ads:loadAdOnCreate="true"/>

  <ListView android:id="@+id/listView1"
        android:layout_weight="1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"/>

另一种方法是使用FrameLayout或RelativeLayout而不是线性布局,以便视图可以相互重叠或相对于彼此定位。我建议使用RelativeLayout,这样广告就不会覆盖ListView的一部分。然后使用android:layout_below =“@ id / adView”将ListView定位在adView下方。