2011-01-29 3 views
0

Я задал этот вопрос раньше, но не получил ответ «достаточно хороший».Admob и ListActivity

Моя проблема в том, что я не могу заставить Admob правильно отображаться в ListActivity.

Моя раскладка выглядит следующим образом:

<?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" 
    xmlns:myapp="http://schemas.android.com/apk/res/se.javalia.myDrinks" 
    android:orientation="vertical"> 
    <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content"> 
     <ListView android:id="@+id/android:list" android:layout_alignParentTop="true" 
      android:layout_width="fill_parent" android:layout_height="wrap_content" /> 
     <TextView android:id="@+id/android:empty" 
      android:layout_width="fill_parent" android:layout_height="wrap_content" 
      android:text="@string/main_no_items" /> 
    </LinearLayout> 
    <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" > 
     <com.admob.android.ads.AdView android:id="@+id/ad" 
      android:layout_alignParentBottom="true" 
      android:layout_width="fill_parent" android:layout_height="wrap_content" 
      myapp:backgroundColor="#000000" myapp:primaryTextColor="#FFFFFF" 
      myapp:secondaryTextColor="#CCCCCC" 
      myapp:keywords="drink alcohol wiskey rum soda" myapp:refreshInterval="300" /> 
    </LinearLayout> 
</RelativeLayout> 

Проблема сейчас в том, что если я изменю layout_hight к fill_parent или пытаться значение больше, чем 150 пикс объявление обыкновение показывать. С layout_hight от 150 или менее он показывает красиво. Цель состоит в том, чтобы получить список для заполнения экрана после того, как объявление заняло свое место.

Любые предложения? Я совсем потерялся о том, как это решить.

Я обновлю вопрос, если ответ не прошел весь путь, поэтому, пожалуйста, проверьте наличие обновлений.

Заранее спасибо Roland

ответ

1

Используйте один RelativeLayout в качестве внешней оболочки и установить ListView к родительскому верхней и ваш AdView к родительскому дна.

+0

Я обновил xml в вопросе, но не вижу объявления. Похоже, что в макете есть место, но нет рекламы. – Roland

+0

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

0

У меня была эта проблема, и было очень сложно найти ответы в Интернете. Но мне повезло, и я нашел ответ, который сработал для меня.

Пожалуйста, удалите в коде андроида: layout_height = "wrap_content" и добавить эти две новые линии в свой Listview

android:layout_height="0dip" 
android:layout_weight="1" 

Ваш код Listview должен выглядеть следующим образом

<ListView 
     android:id="@+id/android:list" 
     android:layout_alignParentTop="true" 
     android:layout_width="fill_parent" 

     android:layout_height="0dip" 
     android:layout_weight="1" 
/> 

Я надеюсь, это работает для вас.