Как разместить баннер AdMob под видом с высотой MATCH_PARENT?

У меня есть ViewPager с PagerTitleStrip у которого есть MATCH_PARENT рост. На страницах есть только текст, но некоторые страницы имеют вертикальную прокрутку, потому что текст очень длинный.

Сейчас я пытаюсь найти лучшую стратегию размещения баннера AdMob внизу моего макета. Это ситуация: - Если я поставлю ниже ViewPager, баннер не виден, потому что ViewPager имеет MATCH_PARENT, - Если я положу в нижней части макета, то ViewPager прокручивает контент из-за баннера, и это не правильное поведение.

Можно поставить правило, которое заставляет баннер оставаться ниже ViewPager но без прокрутки содержимого ViewPager быть из-за баннера?

Спасибо

То, как я пытаюсь добавить баннер:

RelativeLayout.LayoutParams adsParams = new RelativeLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
        adsParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
        adsParams.addRule(RelativeLayout.BELOW,R.id.pager);
        if (AdManager.getInstance().getAdView()!=null){
            View view = AdManager.getInstance().getAdView();
            mainLayout.addView(view, adsParams);
        }

Мой макет:

<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <!-- The main content view -->
    <RelativeLayout
        android:id="@+id/main_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <android.support.v4.view.ViewPager
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/pager"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <android.support.v4.view.PagerTitleStrip
                android:id="@+id/pager_title_strip"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="top"
                android:paddingTop="4dp"
                android:paddingBottom="4dp"
                style="@style/CustomPagerTitleStrip"/>
        </android.support.v4.view.ViewPager>
    </RelativeLayout>
    <!-- The navigation drawer -->
    <android.support.design.widget.NavigationView
        android:id="@+id/navigation_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        app:headerLayout="@layout/drawer_header"
        app:menu="@menu/drawer_menu"
        style="@style/NavigationDrawerStyle"/>
</android.support.v4.widget.DrawerLayout>

1 ответ

Решение

В свой файл компоновки XML res добавьте этот атрибут android:layout_above в представлении MATCH_PARENT. и в его значении укажите идентификатор рекламного баннера. Теперь ваш match_parent вид будет выше рекламного баннера

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_above="@+id/temp"
        android:layout_height="match_parent"></RelativeLayout>
    <View
        android:id="@+id/temp"
        android:layout_alignParentBottom="true"
        android:layout_width="match_parent"
        android:layout_height="60dp"/>

</RelativeLayout>
Другие вопросы по тегам