2011-10-28 54 views
1

我试图用listView将adView添加到我的布局,但出于某种原因,adview未显示。它适用于其他活动,但不会显示在带有listView的活动上。 这是我正在使用的代码:当用列表视图添加到布局时,Adview不可见

<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> 

任何想法?

回答

-1

我总是发现布局有点棘手。对于listView你尝试设置android:layout_width来匹配父?我经常发现我不得不在各种XML对象中摆弄这些参数。如果可能,也尝试(暂时)取出ListView并查看广告是否显示。

-1

问题是列表视图设置为填充父项。所以它正在整个屏幕上,并推广adview。 至少有两种解决方案: 最简单, 向每个节点添加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下方。