2013-05-02 7 views
0

У меня есть следующий макет XML:AdView макет занимает весь экран

  <RelativeLayout 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent"> 

       <ScrollView 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:fillViewport="true" 
        android:layout_above="@+id/adcontent1" 
        android:background="#0000FF"> 

        <TextView 
        android:id="@+id/tempview" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"/> 

       </ScrollView> 

       <RelativeLayout 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:background="#FF0000" 
        android:layout_alignParentBottom="true" 
        android:id="@+id/adcontent1" > 

        <com.google.ads.AdView 
         xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 
         android:id="@+id/adview1" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         app:adSize="BANNER" 
         app:adUnitId="lah-di-da" 
         android:layout_alignParentBottom="true" 
         android:layout_centerHorizontal="true"> 

        </com.google.ads.AdView> 

       </RelativeLayout> 

      </RelativeLayout> 

Проблема заключается в том, что по какой-то причине, wrap_content атрибута высоты AdViewRelativeLayout вызывает целую RelativeLayout занять весь экран , Если я установил жесткую величину (50px), то я получу ScrollView, занимая весь экран - 50 пикселей (как я хочу, за исключением того, что высота RelativeLayout должна быть равна высоте AdView. Кто-нибудь знает, почему AdView заставляет родителя RelativeLayout заполнить экран

Примечание:. есть макеты позади них, но они не имеют никакого влияния на этот конкретный вопрос (протестировано, установив высоту = 50px)

+0

попытайтесь исправить размер динамически. Обычно вид будет занимать весь идентификатор layout.get для просмотра и динамически задавать параметры макета. – APriya

ответ

2

Попробуйте установить высоту объявления на '50dp' и опубликовать свои результаты

+0

Ничего себе ... работает. Но я бы предпочел динамический путь, если это возможно, поскольку я не знаю размер рекламы, которую я получаю. – JosephGarrone

+0

Какой тип вашего рекламного контейнера? Это текстовое поле, textview, ext. Я могу написать пример кода, если вы мне это скажете. –

+0

Его AdView из Google AdMob api ... Я думаю, что ваш 50dp будет работать нормально. Спасибо за ваше время! – JosephGarrone

1

С android:layout_centerHorizontal="true" не будет работать с wrap_content (он работает с fill_parent, поскольку он знает область, в которой он должен быть центрирован). Удалите код CenterHorizontal и используйте параметр wrap_content вместо предоставления значения высоты, которое не позволит динамически предоставлять объявления.

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