网页视图顶部和底部的adview?

时间:2018-09-05 13:52:40

标签: android android-layout android-xml

我有一个网络视图,我想在页面的顶部和底部放置一个广告视图:

  

广告

     

webview

     

广告

我尝试过:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <com.google.android.gms.ads.AdView
        xmlns:ads="http://schemas.android.com/apk/res-auto"
        android:id="@+id/adView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        ads:adSize="SMART_BANNER"
        ads:adUnitId="ca-app-pub-1/1">
    </com.google.android.gms.ads.AdView>

    <WebView  xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/webView1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        />

        <com.google.android.gms.ads.AdView
            xmlns:ads="http://schemas.android.com/apk/res-auto"
            android:id="@+id/adView2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            ads:adSize="SMART_BANNER"
            ads:adUnitId="ca-app-pub-1/1">
        </com.google.android.gms.ads.AdView>

    </LinearLayout>

顶部的adview看起来是正确的,但底部没有显示横幅。 有什么想法吗?

4 个答案:

答案 0 :(得分:1)

您可以如下使用layout_weight属性

<WebView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/webView1"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    />

答案 1 :(得分:1)

您的WebView正在覆盖底部的adview。 在WebView标记中,

android:layout_height="fill_parent"

将其更改为

android:layout_height="wrap_content"

如果您仍然想覆盖整个页面,则需要至少留出一些空间进行广告浏览

android:layout_height="fill_parent"
android:layout_marginBottom="90dp"

现在这是困难的部分,在测试中您将获得90dp的广告,但是实时地,您永远都不知道它的大小,因此,它的名称为smart banner(高度可以变化)

答案 2 :(得分:1)

尝试使用约束布局,如下所示

<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">

<com.google.android.gms.ads.AdView
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    android:id="@+id/adView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    ads:adSize="SMART_BANNER"
    ads:adUnitId="ca-app-pub-1/1"
    ads:layout_constraintEnd_toEndOf="parent"
    ads:layout_constraintStart_toStartOf="parent"
    ads:layout_constraintTop_toTopOf="parent">
</com.google.android.gms.ads.AdView>

<WebView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/webView1"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    app:layout_constraintBottom_toTopOf="@+id/adView2"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/adView"/>

<com.google.android.gms.ads.AdView
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    android:id="@+id/adView2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    ads:adSize="SMART_BANNER"
    ads:adUnitId="ca-app-pub-1/1"
    ads:layout_constraintBottom_toBottomOf="parent"
    ads:layout_constraintEnd_toEndOf="parent"
    ads:layout_constraintStart_toStartOf="parent">
</com.google.android.gms.ads.AdView>

答案 3 :(得分:0)

由于您设置了Webview fill_parent的高度,因此未显示底部横幅

 <WebView  xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/webView1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    />

要实现此布局,您可以使用weight属性。

像下面这样:

  <?xml version="1.0" encoding="utf-8"?>
   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <com.google.android.gms.ads.AdView
        xmlns:ads="http://schemas.android.com/apk/res-auto"
        android:id="@+id/adView"
        android:layout_weight=".1"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        ads:adSize="SMART_BANNER"
        ads:adUnitId="ca-app-pub-1/1">
    </com.google.android.gms.ads.AdView>

    <WebView  xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/webView1"
        android:layout_weight=".8"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        />

        <com.google.android.gms.ads.AdView
            xmlns:ads="http://schemas.android.com/apk/res-auto"
            android:layout_weight=".1"
            android:id="@+id/adView2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            ads:adSize="SMART_BANNER"
            ads:adUnitId="ca-app-pub-1/1">
        </com.google.android.gms.ads.AdView>

    </LinearLayout>

希望它对您有用