AdMob AdView和ViewPager?

Gav*_*cip 8 android admob android-viewpager actionbarsherlock viewpagerindicator

我有一个ViewPager的Android应用程序实现如下:

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

我不知道如何在ViewPager下面实现AdView.我试图以编程方式和在xml中将AdView放在ViewPager下面.没有错误,但广告没有显示.

我的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>
Run Code Online (Sandbox Code Playgroud)

Wil*_*iam 11

好的,你有几个问题.

  1. orientation仅与LinearLayout相关.
  2. layout_alignParentBottom需要一个布尔值而不是"top"
  3. layout_weight仅与LinearLayout和RelativeLayout相关

你有2个选择.使用RelativeLayout但首先定义AdView,同时定义ViewPager,或者使用LinearLayout并让ViewPager使用layout_weight填充未使用的空间.

作为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>
Run Code Online (Sandbox Code Playgroud)

或者作为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>
Run Code Online (Sandbox Code Playgroud)

就个人而言,我会选择LinearLayout,感觉更简单.