2011-03-21 1 views
10

J'ai une bannière d'annonce admob que je souhaite placer en bas de l'écran et le reste du contenu est redimensionné pour remplir l'espace disponible lorsque le l'annonce est chargée. Je vois exactement ce que je veux faire lorsque je place l'annonce au sommet d'une mise en page linéaire et que la hauteur de mon contenu est définie sur fill_parent. Est-ce possible de réaliser à l'envers? Lorsque je place mon annonce sous mon contenu avec la hauteur fill_parent, elle n'apparaît pas car il n'y a pas assez de place. J'ai une solution avec une mise en page relative et une marge en bas pour économiser de l'espace pour l'annonce, mais je n'aime pas l'espace noir qui est là jusqu'à ce que l'annonce se charge (si c'est le cas). Des idées?Comment faire en sorte que l'annonce s'affiche au bas de l'écran sans chevauchement

Répondre

31

Vous pouvez le faire en utilisant RelativeLayout sans faire des choses hackish:

<?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> 

Si l'annonce ne se charge pas pour une raison étrange, le ListView prendra tout l'espace disponible. D'un autre côté, si l'annonce est chargée, l'annonce ne chevauche pas le ListView.

+0

merci beaucoup cristian, qui a fonctionné exactement comme je le voulais :) –

Questions connexes