画面のwidthが足りないとAdMobの広告(AdView)が表示されない
タイトルの通り画面の幅が足りないとAdViewが表示されないらしいので、
Rootの要素にpaddingを設定してしまうと広告が表示されない*1。
<?xml version="1.0" encoding="utf-8"?> <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" android:padding="10dip" > <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="1" > <TextView /> <FrameLayout /> </LinearLayout> <com.google.ads.AdView android:id="@+id/adView" android:layout_width="fill_parent" android:layout_height="wrap_content" ads:adUnitId="xxxxxxxxxxxxxxxxxxx" ads:adSize="BANNER" ads:loadAdOnCreate="true" /> </LinearLayout>
paddingを子要素で指定すると正しく表示される。
<?xml version="1.0" encoding="utf-8"?> <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" > <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="1" android:padding="10dip" > <TextView /> <FrameLayout /> </LinearLayout> <com.google.ads.AdView android:id="@+id/adView" android:layout_width="fill_parent" android:layout_height="wrap_content" ads:adUnitId="xxxxxxxxxxxxxxxxxxx" ads:adSize="BANNER" ads:loadAdOnCreate="true" /> </LinearLayout>