8

Ich habe Android-Anwendung mit ViewPager wie folgt umgesetzt:AdMob AdView und ViewPager?

http://www.youtube.com/watch?v=C6_1KznO95A

Ich weiß nicht, wie AdView unter dem ViewPager zu implementieren. Ich habe versucht, AdView unter dem ViewPager programmatisch und in XML zu setzen. Es gibt keine Fehler, aber Anzeigen werden nicht angezeigt.

Mein xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical"> 

<android.support.v4.view.ViewPager 
    android:id="@+id/pager" 
    android:layout_width="match_parent" 
    android:layout_alignParentBottom="top" 
    android:layout_height="0dp" 
    android:layout_weight="1"/> 

<com.google.ads.AdView 
    android:id="@+id/ad" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentBottom="true" 
    android:layout_below="@+id/pager" 
    ads:adSize="BANNER" 
    ads:adUnitId="@string/admob_publisher_id" 
    ads:loadAdOnCreate="true" > 
</com.google.ads.AdView> 

+0

bitte posten Sie Ihr XML-Layout sollte es eigentlich kommen .. –

Antwort

10

OK, Sie haben ein paar Probleme.

  1. Ausrichtung ist nur für ein LinearLayout relevant.
  2. layout_alignParentBottom braucht einen boolean Wert nicht "top"
  3. layout_weight für ein Linearlayout ist nur relevant, noch RelativeLayout

Sie haben 2 Möglichkeiten. Verwenden Sie ein RelativeLayout, definieren Sie das AdView jedoch zuerst, wobei der ViewPager als darüber definiert wird ODER verwenden Sie ein LinearLayout und lassen Sie den ViewPager den nicht verwendeten Speicherplatz mit layout_weight füllen.

Als RelativeLayout

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
> 

<com.google.ads.AdView 
    android:id="@+id/ad" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    ads:adSize="BANNER" 
    ads:adUnitId="@string/admob_publisher_id" 
    ads:loadAdOnCreate="true" /> 

<android.support.v4.view.ViewPager 
    android:id="@+id/pager" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_alignParentTop="true" 
    android:layout_above="@+id/ad" 
    /> 

</RelativeLayout> 

OR als Linearlayout

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

<android.support.v4.view.ViewPager 
    android:id="@+id/pager" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="1"/> 

<com.google.ads.AdView 
    android:id="@+id/ad" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    ads:adSize="BANNER" 
    ads:adUnitId="@string/admob_publisher_id" 
    ads:loadAdOnCreate="true" /> 

</LinearLayout> 

Persönlich würde ich mit dem Linearlayout gehen fühlt es sich einfacher.

+0

Dies sollte als die richtige Antwort markiert werden. – sublimental