Реклама в верхней и нижней части веб-просмотра? - PullRequest
0 голосов
/ 05 сентября 2018

У меня есть веб-просмотр, и я хотел бы разместить объявление сверху и снизу страницы:

AdView

WebView

AdView

Я пытался:

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

объявление в верхней части выглядит правильно, но в нижней части баннер не отображается. есть идеи?

Ответы [ 4 ]

0 голосов
/ 20 марта 2019

Нижний баннер не отображается, потому что вы установили высоту 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>

Я надеюсь, что его работа для вас

0 голосов
/ 05 сентября 2018

Ваш WebView покрывает нижнюю рекламу. В теге WebView

android:layout_height="fill_parent"

изменить на

android:layout_height="wrap_content"

и если вы все еще хотите охватить всю страницу, то вам нужно хотя бы оставить место для просмотра

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

Теперь вот самая сложная часть: при тестировании вы получите рекламу в 90 дп, но в реальном времени вы никогда не знаете, какой она будет, и, следовательно, умный баннер (высота может варьироваться)

0 голосов
/ 05 сентября 2018

Попробуйте использовать схему ограничений следующим образом

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

0 голосов
/ 05 сентября 2018

Вы можете использовать атрибут 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"
    />
...