У меня есть рекламный баннер 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
не будет перекрываться объявлением.