2011-03-21 16 views
10

Mam baner reklamowy admob, który chcę umieścić u dołu ekranu, a resztę zawartości zmienić, aby wypełnić dostępne miejsce, gdy ładuje się reklama. Widzę dokładnie to, co chcę, gdy umieszczę reklamę u góry układu liniowego, a następnie ustawię wysokość mojej treści na fill_parent. Czy można to osiągnąć odwrotnie? Kiedy umieszczam moją reklamę pod moją zawartością o wysokości fill_parent, nie pokazuje się, ponieważ nie ma wystarczającej ilości miejsca. Mam rozwiązanie z względnym układem i marginesem na dole, aby zaoszczędzić miejsce na reklamę, ale nie podoba mi się czarne miejsce, które jest tam, dopóki nie załaduje się reklama (jeśli w ogóle). Jakieś pomysły?Jak wyświetlać reklamy u dołu ekranu bez nakładania się?

Odpowiedz

31

Można to zrobić za pomocą RelativeLayout bez robienia hackish rzeczy:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 
    <bla.bla.AdView 
      android:id="@+id/ad" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_alignParentBottom="true" 
      android:background="#FF0000"/> 
    <ListView 
      android:id="@android:id/list" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_above="@id/ad"/> 
</RelativeLayout> 

Jeśli reklama nie zostanie załadowana do jakiegoś dziwnego powodu, ListView zajmie całą dostępną przestrzeń. Z drugiej strony, jeśli reklama się załaduje, reklama ListView nie będzie się pokrywać.

+0

bardzo dziękuję Cristian, które działało dokładnie tak, jak chciałem :) –

Powiązane problemy