Admob отображается над списком в макете вкладки

1

У меня есть TabLayout, у которого ListView отображается как намерение. Я хотел бы добавить баннер admob в этот макет, но он переместит ListActivity по последнему элементу списка, который я определил ранее. Как я могу заставить это работать?

Опубликуйте теперь main.xml:

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="top"
    android:orientation="vertical"
    android:padding="5dp" >

    <TabWidget
        android:id="@android:id/tabs"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
    <FrameLayout
        android:id="@android:id/tabcontent"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:padding="5dp" >

    </FrameLayout>

</LinearLayout>

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="1"
    android:gravity="bottom" >

<com.google.ads.AdView
            android:id="@+id/adView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"

            ads:adSize="BANNER"
            ads:adUnitId="a14f67193b8a3e1"
            ads:loadAdOnCreate="true"
            ads:testDevices="TEST_EMULATOR, 3433B134225900EC" >

        </com.google.ads.AdView>
 </LinearLayout>

Теги:
admob
layout

1 ответ

7
Лучший ответ

Чтобы заставить AdView заняться собственным пространством, а не сидеть поверх другого контента, я обычно использую RelativeLayout и android:layout_alignParentBottom="true" на моем AdView и android:layout_above="@+id/adView" на мой контент верхнего уровня.

  • 0
    Чтобы более конкретно ответить на ваш вопрос, AdView находится над нижней частью вашего списка, потому что у вас есть два элемента LinearLayout. Android совмещает их друг с другом внутри большинства базовых объектов ViewParent, поэтому реклама перемещается по списку, а не занимает место. Подход Эрика RelativeLayout будет работать, но вы можете достичь того же эффекта, поместив AdView в первый LinearLayout, а затем поместив FrameLayout в ScrollView, чтобы сделать этот элемент с возможностью прокрутки.
  • 0
    это решило мою проблему. большое спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню