2014-11-02 2 views
1

Учитывая следующий макет для представления содержимого основной деятельностиСмарт баннер вид контейнера не будет изменять размеры

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:ads="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context=".CordovaApp" 
    tools:ignore="MergeRootFrame" > 

    <LinearLayout 
     android:id="@+id/layout_main" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     android:layout_above="@+id/layout_ad" > 
    </LinearLayout> 

    <RelativeLayout 
     android:id="@+id/layout_ad" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:orientation="vertical" > 

     <com.google.android.gms.ads.AdView 
      android:id="@+id/view_ad" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_centerHorizontal="true" 
      ads:adSize="SMART_BANNER" 
      ads:adUnitId="ca-app-pub-3940256099942544/6300978111" > 
     </com.google.android.gms.ads.AdView> 
    </RelativeLayout> 

</RelativeLayout> 

Я не могу сделать смарт-баннеры AdMob, чтобы работать при изменении ориентации.

Если я начинаю в ландшафтном режиме, я получаю смарт-баннер высоты 32. Изменение ориентации на портрете не меняет layout_ad высоту, и я получаю эту ошибку

достаточно не место, чтобы показать объявления. Требуется 480x32 дп, но имеет только 320x455 дп.

+0

Жалоба на ширину, а не на высоту. – William

+0

Потенциальный дубликат http://stackoverflow.com/questions/20929963/admob-ad-not-resizing-correctly-upon-screen-orientation-includes-pictures и http://stackoverflow.com/questions/11281562/android- admob-resize-on-landscape –

ответ

3

AdView необходимо воссоздать, если вы используете SMART_BANNER и обрабатываете свои собственные изменения конфигурации. В противном случае размер AdView не будет изменен, но запрос по-прежнему предназначен для объявления полной ширины в новой ориентации, и поэтому он не подходит. Воспроизведение AdView в этом случае может быть проще для вас в коде, чем через XML.

+1

Пример кода в http://stackoverflow.com/a/29516024/1816603 –

Смежные вопросы