ListView, AdMob и встроенная резервная копия Ad Layout проблема - PullRequest
0 голосов
/ 17 января 2012

Я пытаюсь создать макет, который, если AdMob Ad не загружается, показывает одну из моих собственных объявлений (ImageView), встроенных в приложение.Я не могу понять, что просмотр списка не скрывает мою рекламу.

У меня нет проблем, чтобы заставить его работать, если я просто использую только AdMob Ad.

enter image description here

Вот мой макет.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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="fill_parent"
android:background="@drawable/bgdark"
android:orientation="vertical" >

<RelativeLayout
    android:id="@+id/actionbarLayout"
    android:layout_width="fill_parent"
    android:layout_height="@dimen/actionbar_height"
    android:layout_alignParentTop="true"
    android:layout_marginBottom="2dip"
    android:background="@drawable/actionbar_background" >

    //Top bar is here

</RelativeLayout>

<LinearLayout
    android:id="@+id/layoutAds"
    android:layout_width="match_parent"
    android:layout_height="50dip"
    android:background="#00FF00"
    android:layout_alignParentBottom="true"
    android:layout_centerVertical="true" >

    <ImageView
        android:id="@+id/ImageAlternativeAd"
        android:layout_width="wrap_content"
        android:layout_height="50dip"
        android:layout_gravity="center_vertical"
        android:src="@drawable/anad"
        android:visibility="visible" >
    </ImageView>

    <com.google.ads.AdView
        android:id="@+id/adView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        ads:adSize="BANNER"
        ads:adUnitId="123456abcd"
        ads:loadAdOnCreate="true"
        ads:testDevices="TEST_EMULATOR,CFFFFFFF9A836FD749F3EF439CD"
        android:visibility="visible" />
</LinearLayout>

<ListView
    android:id="@+id/listCategories"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_above="@id/adView"
    android:layout_below="@id/actionbarLayout"
    android:cacheColorHint="#00000000" >
</ListView>

Ответы [ 2 ]

0 голосов
/ 18 января 2012

Это именно то, что вы хотите.
https://stackoverflow.com/a/5188181/563306

Кроме того, вы пробовали,

<ListView
    android:id="@+id/listCategories"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_above="@id/layoutAds"
    android:layout_below="@id/actionbarLayout"
    android:cacheColorHint="#00000000" >
</ListView>
0 голосов
/ 17 января 2012

Я думаю, что простой способ реализовать это - создать компонент, который изначально содержит представление com.google.ads.AdView.Затем, когда вы заметите, что ваше объявление не загружается, вы можете поменять его с вашим ImageView на лету.

Еще лучше: сделайте этот пользовательский компонент.Таким образом, «снаружи» (ваш макет) вы просто включаете экземпляр этого компонента, а внутренне этот компонент реализуется либо путем показа рекламы из AdMob, либо из вашего собственного объявления в зависимости от того, не загружается ли объявление AdMob или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...