5

AdMobの本当に奇妙な状況です。私はLinearLayoutを持っている一番下に広告を配置したいと思います。私がそうするとき、それは決して現れません。私がそれを上に置くとき、それは完全に現れます。ここでの取引が私のコードかわからない。LogCatで、「広告を表示するのに十分なスペースがありません。<480,75>が必要です:<480、0>」という警告が表示されます。

LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/res/mypackage"
 android:id="@+id/mainmenulayout"
 android:orientation="vertical" 
 android:layout_width="fill_parent"
 android:layout_height="fill_parent">

    <ImageView  android:id="@+id/headerpic"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:src="@drawable/header"/>

    <ListView android:id="@android:id/list" 
    android:divider="#00000000" 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" 
    android:drawSelectorOnTop="false"
    android:background="@android:color/transparent"
    android:cacheColorHint="#00000000"
    android:layout_alignParentTop="true">
    </ListView>

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

と私のonCreate():

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.appmenu);

    // Look up the AdView as a resource and load a request.
    AdView adView = (AdView)this.findViewById(R.id.adView);
    adView.loadAd(new AdRequest());

    String[] mainMenuList = getResources().getStringArray(R.array.mainMenuList);
    TypedArray[] picFiles = getResources().obtainTypedArray(R.array.arrayIcon);

    setListAdapter(new MyIconAdapter(mainMenuList, picFiles));

    this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

}  //close onCreate
4

2 に答える 2

17

私の推測では、リストビューが画面いっぱいに表示され、アドビューが押し下げられています。リストビューで次のxmlを試してください。

<ListView android:id="@android:id/list" 
    android:divider="#00000000" 
    android:layout_width="fill_parent"
    android:layout_height="0px" 
    android:layout_weight="1"
    android:drawSelectorOnTop="false"
    android:background="@android:color/transparent"
    android:cacheColorHint="#00000000"
    android:layout_alignParentTop="true">
    </ListView>

これにより、リストビューには、画像ビューと広告ビューがシェアを主張した後に利用できる範囲の不動産のみが表示されます。

于 2011-05-04T03:52:42.953 に答える
1

これも役立つかもしれません... AdMob広告が表示されない-Android

テッドが言うように、リストビューは利用可能なすべての不動産を占めている可能性があります。wrap_contentを使用しても、adViewが読み込まれる前にリストに大量のデータが読み込まれると、adViewは広告を展開して配置できなくなります。

私がやったことをしてハードコーディングしない限り、高さは約50dpです。あまりエレガントではありませんが、それでも効果的です。

于 2011-05-04T04:34:44.127 に答える