Как сделать так, чтобы объявление показывалось внизу экрана без наложения

У меня есть рекламный баннер AdMob, который я хотел бы разместить в нижней части моего экрана, а размер остального содержимого изменился, чтобы заполнить доступное пространство при загрузке объявления. объявление в верхней части линейного макета, а затем высота моего контента установлена ​​на fill_parent. Можно ли достичь в обратном порядке? Когда я размещаю свое объявление под своим контентом с высотой fill_parent, оно не отображается, так как недостаточно места. У меня есть решение с относительным макетом и полем внизу, чтобы сэкономить место для рекламы, но мне не нравится черное пространство, которое присутствует до тех пор, пока реклама не загрузится (если она вообще будет). Есть идеи?

1 ответ

Решение

Вы можете сделать это с помощью RelativeLayout не делая хакерских вещей

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
    <bla.bla.AdView
            android:id="@+id/ad"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:background="#FF0000"/>
    <ListView
            android:id="@android:id/list"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_above="@id/ad"/>
</RelativeLayout>

Если по какой-то странной причине объявление не загружается, ListView займет все доступное пространство. С другой стороны, если объявление действительно загружается, ListView не будет перекрываться рекламой.

Другие вопросы по тегам