2013-01-18 3 views
0

Tout d'abord, j'ai un adobe admView mis en place, mais j'ai besoin de le créer dynamiquement en raison d'un bug dans la dernière version bien sûr.Annonce de positionnement admob Android sur BOTTOM

Je veux l'annonce au bas de l'écran, et j'ai un LinearLayout qui est fixé au fond, mais il y a est une restriction qui doivent en être autrement l'annonce charge wont:
1) Je dois LinearLayout pour avoir une certaine hauteur (PAS de contenu)

Tout cela fonctionne bien avec une annonce de test, mais le problème est ... J'allais mettre cette mise en page dans un RelativeLayout afin que je puisse l'aligner vers le bas, mais dès que je faire- je ne vois aucune annonce ...

voici mon code onCreate:

adView = new AdView(this, AdSize.BANNER, "xxx"); 

    LinearLayout layout = (LinearLayout)findViewById(R.id.adView); 

    layout.addView(adView); 


    AdRequest adRequest = new AdRequest(); 
    adRequest.addTestDevice(AdRequest.TEST_EMULATOR); 
    adRequest.addTestDevice("5554");  
    adView.loadAd(adRequest); 

Comme je l'ai dit, le code ci-dessus fonctionne parfaitement bien, mais je voudrais aligner ce sur le fond et à l'intérieur d'un relativeLayout, mais il doit être fait dynamiquement ...

+0

Peut-s'il vous plaît envoyer votre code de fichier de mise en page? – GrIsHu

+0

vous devriez poster votre layou.xml ou renvoyer ce lien http://jmsliu.com/209/add-google-admob-in-android-application.html – QuokMoon

+0

Je fais mes annonces grammaticalement, en raison d'un bogue dans le dernier SDK adMob qui ne vous permet pas de les créer dans le fichier XML lui-même. – sykal

Répondre

0

essayer cette astuce: calculate la hauteur d'affichage au moment de l'exécution et réglez la marge en haut selon les besoins.

méthode

pour calculer la hauteur

affichage display = getWindowManager() getDefaultDisplay().
int largeur = display.getWidth();

+0

C'est une bonne idée, je vais essayer ce soir - Quelle que soit la raison pour laquelle vous avez choisi display.getWidth() au lieu de height? – sykal

0

Votre disposition linéaire devrait être la suivante. Votre annonce sera donc automatiquement définie en bas de la page.

<LinearLayout android:layout_width="fill_parent" 
     android:layout_alignParentBottom="true" 
     android:id="@+id/rootViewGroup" 
     android:layout_height="wrap_content" > 
    </LinearLayout> 

espérons que cela vous aidera.

+0

^Impossible d'ajouter via le code XML en raison d'un bogue dans la dernière version. Dynamique seulement. – sykal

0

Voici l'approche de mise en page courante pour placer une annonce Banner sous vue listview ou recycleur.

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

<RelativeLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_above="@+id/adView"> 

    <FrameLayout 
     android:id="@+id/fragment" 
     android:name="net.yrom.screenrecorder.fragment.ItemFragment" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     tools:layout="@layout/fragment_item_list">Here Can Be anything Mostly it's list view</FrameLayout> 
</RelativeLayout> 

<com.google.android.gms.ads.AdView 
    android:id="@+id/adView" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_centerHorizontal="true" 
    android:layout_gravity="bottom" 
    ads:adSize="BANNER" 
    ads:adUnitId="@string/banner_home_footer"></com.google.android.gms.ads.AdView> 

Questions connexes