2012-01-29 1 views
0

Я реализую макет для маленького экранного устройства.
Для тестирования я использую Huawei Ideos U8150, который имеет разрешение 240x320.Возможно ли иметь AdView внутри LinearLayout, который сжимает AdView до ширины 180 пикселей.

Из-за небольшого разрешения у меня большая проблема с пространством. Поэтому я подумал, что могу разместить AdMob AdView и TextView внутри горизонтального LinearLayout.
Размер AdView будет занимать 3/4 от ширины и TextView 1/4.

В графическом макете все выглядит так, как ожидалось. Но когда я запускаю приложение на устройстве, он не отображает объявление внутри AdView. Я сделал фон AdView красным, поэтому я могу подтвердить, что AdView на самом деле виден. Он просто не отображает рекламу.

Я подтвердил с onReceiveAd, что у меня есть реклама. И я печатаю рамку AdView в этом методе. Который журнал как источник: 0,38 ширина: 180,47. Выглядит хорошо для меня тоже.

Так что мне интересно, сможет ли AdMob AdView изменять размеры своих объявлений, чтобы они отображались правильно. Возможно, вещи, которые я стараюсь, просто невозможны.

Это мой макет:

<LinearLayout android:id="@+id/linearLayoutAds" android:background="#F0F0" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_alignParentTop="true"> 
    <com.google.ads.AdView 
     android:id="@+id/adView" 
     android:layout_width="0dip" 
     android:layout_height="fill_parent" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentLeft="true" 
     android:layout_weight="3" 
     android:background="#FF00" 
     ads:adSize="BANNER" 
     ads:adUnitId="foobar" 
     ads:loadAdOnCreate="true" 
     ads:refreshInterval="30" 
    /> 
    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="0dip" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentTop="true" 
     android:layout_weight="1" 
     android:background="#F000" 
     android:gravity="right" 
     android:text="999" 
     android:textSize="45dip" 
     android:textStyle="bold" 
    /> 
</LinearLayout> 

ответ

4

объявление не будет отображаться, если высота вашего LinearLayout становится меньше 50 дп. Я не пробовал уменьшать ширину, но, посмотрев на это thread, похоже, что его невозможно уменьшить ширину до 180 px.

+0

большой. По крайней мере, для пользователей крошечных устройств. Они не видят рекламы :-) Просто обнаружили, что на [веб-сайте AdMob] (http://code.google.com/mobile/ads/docs/android/intermediate.html): «_ SDK запросит любой размер с запросом на создание AdView. ** Если на экране устройства недостаточно места для показа объявления, ничего не будет показано. ** _ " –

+0

Объявления AdMob 320x50dp. Ваш телефон имеет разрешение 240x320, но это устройство с низкой плотностью (1dp = 0,75 px), поэтому оно действительно 320x426dp. В портретном режиме AdMob требует, чтобы вся ширина экрана отображалась для объявления, но в ландшафтном режиме для этого устройства требуется только 3/4 ширины. Еще раз взгляните на ваши журналы; если вы получили объявление, но его недостаточно, чтобы показать его, SDK будет записывать предупреждение, говорящее «Недостаточно места для показа рекламы! Желает <320,50>, имеет: <240,377>». –