1

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>

何か案は?

4

2 に答える 2

-1

問題は、リスト ビューが親を埋めるように設定されていることです。そのため、画面全体を取り、アドビューを押しのけています。少なくとも 2 つの解決策があります。最も簡単なのは、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"/>

もう 1 つの方法は、線形レイアウトの代わりに FrameLayout または RelativeLayout を使用することです。これにより、View を互いにオーバーラップさせるか、互いに相対的に配置することができます。広告が ListView の一部を覆わないように、RelativeLayout をお勧めします。次に、android:layout_below="@id/adView" を使用して、ListView を adView の下に配置します。

于 2011-10-28T21:59:43.203 に答える
-1

私はいつもレイアウトが少しトリッキーだと思っていました。listView の場合、android:layout_width親と一致するように設定しようとしましたか? さまざまな XML オブジェクトでこれらのパラメーターをいじる必要があることがよくあります。また、可能であれば ListView を (一時的に) 取り出して、広告が表示されるかどうかを確認してください。

于 2011-10-28T21:51:24.400 に答える