Admob в Listview: Android-макет - PullRequest
0 голосов
/ 23 ноября 2011

Еще раз мне нужна помощь. Метод проб и ошибок работает не так хорошо. Может кто-нибудь, пожалуйста, посмотрите на мой код? Я хочу, чтобы мой просмотр списка содержал рекламные объявления в верхней части страницы, и сегодня я немного борюсь Заранее спасибо!

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:padding="5dp"
     >

   <com.google.ads.AdView
            android:id="@+id/adView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            ads:adSize="BANNER"
            ads:adUnitId="xxxxxxxxxxxxxxx"
            ads:loadAdOnCreate="true"
            android:layout_alignParentTop="true" />

    <TextView
        android:id="@+id/txtPlaceName"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="left"
        android:ellipsize="end"
        android:singleLine="true"
        android:text="saa"
        android:textSize="25sp"
        android:layout_below="@id/adView" />

    <LinearLayout
        android:id="@+id/layout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <ImageView
            android:id="@+id/imgType"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/marker1" />

        <LinearLayout

            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

            <RelativeLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

                <TextView
                    android:id="@+id/txtCityState"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="city, st"
                    android:textSize="15sp" />

                <TextView
                    android:id="@+id/txtDistance"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentRight="true"
                    android:textSize="15sp" />
            </RelativeLayout>

            <RelativeLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

                <RatingBar
                    android:id="@+id/average_ratingbar"
                    style="?android:attr/ratingBarStyleSmall"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:numStars="5"
                    android:stepSize="1.0" />

                <TextView
                    android:id="@+id/txtCommentsCount"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentRight="true"
                    android:textSize="15sp" />
            </RelativeLayout>
        </LinearLayout>
    </LinearLayout>



</LinearLayout>

1 Ответ

1 голос
/ 24 ноября 2011

Короткий ответ

Баннерной рекламе требуется ширина 320 дп.У вашего базового LinearLayout android:padding="5dp", поэтому у вас осталось только 310dp, и поэтому объявление не помещается на экране.

В будущем

Android имеетсредство ведения журнала под названием LogCat , которое отслеживает все сообщения, которые регистрируются.AdMob SDK предоставляет журналы сообщений, которые могут быть очень полезны при устранении этих проблем.Вот как я смог решить вашу проблему.

Вы можете просмотреть вывод LogCat с помощью командной строки, следуя указаниям по приведенной выше ссылке, или вы можете просмотреть вывод LogCat в Eclipse, перейдя к Window -> Show View -> LogCat.При запросе рекламы SDK записал следующее сообщение:

Not enough space to show the ad!  Wants: <320,50>, Has: <310,473>

Оттуда было довольно легко сказать, что у вас не было полной ширины 320, и, конечно, ваш макет верхнего уровня имел отступ 5dp.на каждой стороне.

Несвязанный макет Совет

Fyi, атрибуты android:layout_alignParentTop и android:layout_below только и делают что-либо внутри RelativeLayout.В приведенном выше макете эти атрибуты в AdView и TextView ничего не делают.

...