android - AdMob AdView 和 ViewPager?

标签 android actionbarsherlock android-viewpager admob viewpagerindicator

我的 Android 应用程序是这样实现的 ViewPager :

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>

最佳答案

好的,你有几个问题。

  1. 方向仅与 LinearLayout 相关。
  2. layout_alignParentBottom 需要一个不是“top”的 bool 值
  3. layout_weight 仅与 LinearLayout 或 RelativeLayout 相关

您有 2 个选择。使用 RelativeLayout 但首先定义 AdView 并按其上方定义的 ViewPager 或使用 LinearLayout 并让 ViewPager 使用 layout_weight 填充未使用的空间。

作为相对布局

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

或作为 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>

我个人会选择 LinearLayout,感觉更简单。

关于android - AdMob AdView 和 ViewPager?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21050494/

相关文章:

android - Viewpager 和 Tab 的滚动问题

android - 如何 Hook viewpager 滑动事件以更新状态 react-native android?

android - 如何在 Android 上为 USB 传感器使用 Linux C++ 驱动程序?

java - 为intelliJ设置JAVA_HOME?

android - 使用 TravisCI 将 APK 上传到 Github

java - 单击对话框时替换另一个 fragment 上方的 fragment (viewpager)

android - DrawableLeft 与文本居中

android - Actionbarsherlock with Viewpagerindicator

java - dx.bat 上的错误类文件魔法

android - 禁用子 viewPager 在父 viewPager 内滑动