Баннерная реклама размещается над вторым элементом в обзоре переработчика - PullRequest
0 голосов
/ 28 января 2020

Это мой activity_main макет, который является панелью навигации, и включает в себя макет активности main с именем app_bar_main.

    <include
        layout="@layout/app_bar_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <com.google.android.material.navigation.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        app:theme="@style/ThemeOverlay.AppCompat.navTheme"
        app:headerLayout="@layout/nav_header_main"
        app:menu="@menu/activity_main_drawer" >
    </com.google.android.material.navigation.NavigationView>
    <com.google.android.gms.ads.AdView
        xmlns:ads="http://schemas.android.com/apk/res-auto"
        android:id="@+id/adView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        ads:adSize="BANNER"
        ads:adUnitId="ca-app-pub-3940256099942544/6300978111">
    </com.google.android.gms.ads.AdView>
</androidx.drawerlayout.widget.DrawerLayout>

Я назвал объявление как (из моего MainActivity):

MobileAds.initialize(this, new OnInitializationCompleteListener() {
      @Override
      public void onInitializationComplete(InitializationStatus initializationStatus) {
      }
    });
    mAdView = findViewById(R.id.adView);
    AdRequest adRequest = new AdRequest.Builder().build();
    mAdView.loadAd(adRequest);

Моя активность - viewpager, первая из которых содержит recyclerview. Проблема в том, что реклама показывается только в конце первого элемента recyclerview, а не в конце экрана. Что мне делать?

ОБНОВЛЕНИЕ После переноса моего объявления в переработчик, например,

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout   xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_height="match_parent"
  android:layout_width="match_parent">

  <androidx.recyclerview.widget.RecyclerView
      android:id="@+id/rv_recycler_view"
      android:scrollbars="vertical"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:layout_marginBottom="@dimen/activity_vertical_margin"/>
  <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"
      android:layout_marginTop="@dimen/activity_vertical_margin"
      android:layout_margin="4dp"
      android:layout_centerHorizontal="true"
      android:layout_alignParentBottom="true"
      ads:adSize="BANNER"
      ads:adUnitId="ca-app-pub-3940256099942544/6300978111">
  </com.google.android.gms.ads.AdView>
</RelativeLayout>

Мое объявление находится внизу экрана, мой последний элемент в На реселлер всегда распространяется реклама. Итак, как же сделать последний элемент видимым?

1 Ответ

0 голосов
/ 28 января 2020

Вы неправильно выравниваете свои RecyclerView и AdView. По сути, вы должны «указать», что ваш RecyclerView должен быть выше AdView, и поскольку ваш родитель ViewGroup равен RelativeLayout, вы можете сделать это с помощью: android:layout_above="view_id":

 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent">
     <androidx.recyclerview.widget.RecyclerView
         android:id="@+id/rv_recycler_view"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:layout_above="@+id/adView"
         android:layout_marginBottom="@dimen/activity_vertical_margin"
         android:scrollbars="vertical" />

    <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"
         android:layout_alignParentBottom="true"
         android:layout_centerHorizontal="true"
         android:layout_margin="4dp"
         android:layout_marginTop="@dimen/activity_vertical_margin"
         ads:adSize="BANNER"
         ads:adUnitId="ca-app-pub-3940256099942544/6300978111"/>
</RelativeLayout>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...