【问题标题】:AdMob AdView and ViewPager?AdMob AdView 和 ViewPager?
【发布时间】:2014-01-10 17:21:07
【问题描述】:

我有像这样实现 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>

【问题讨论】:

  • 请发布您的 xml 布局,它应该是实际出现的......

标签: android actionbarsherlock android-viewpager admob viewpagerindicator


【解决方案1】:

好的,你有几个问题。

  1. 方向仅与 LinearLayout 相关。
  2. layout_alignParentBottom 需要一个布尔值而不是“top”
  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 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,感觉更简单。

【讨论】:

    【解决方案2】:

    这对我有用。

        AdView adView = (AdView) findViewById(R.id.ad);
        adView.bringToFront();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多