2014-10-14 6 views
1

У меня возникли проблемы с размещением баннера AdMob в настройках. Мне удалось поместить его в первом экране, используя следующую структуру:Android Admob banner на всех предпочтениях экранов

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/MainLinearLayout" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" android:baselineAligned="false"> 

    <fragment 
     android:id="@+id/admob" 
     android:name="ro.infiniteloop.phonehancer.AdmobFragment" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

    <fragment 
     android:id="@+id/settings" 
     android:name="ro.infiniteloop.phonehancer.SettingsFragment" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" /> 

</LinearLayout> 

Компоновка AdmobFragment существо:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    xmlns:ads="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/AdmobLinearLayout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="ro.infiniteloop.phonehancer.AdmobFragment" > 

    <com.google.android.gms.ads.AdView 
     android:id="@+id/adView" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     ads:adSize="BANNER" 
     ads:adUnitId="ca-app-pub-5599997006266549/8381977716" /> 

</LinearLayout> 

и расположение настроек фрагмент:

<PreferenceCategory 
    android:key="pref_key_storage_settings" 
    android:title="@string/pref_sms_storage_title" > 

    <CheckBoxPreference 
     android:defaultValue="false" 
     android:key="pref_key_auto_delete" 
     android:summary="@string/pref_summary_auto_delete" 
     android:title="@string/pref_title_auto_delete" /> 

.....

An image of the output

Все до сих пор. Но когда я иду внутри экрана предпочтений ребенка оригинала макет не сбрасывается и объявление больше не отображается

An image of the child preference screen

Есть ли способ, чтобы заложить эти элементы внутри макета или написать собственный код, который держит объявление на всех дочерних экранах предпочтений?

ответ

0

Создать макет, содержащий только AdMob

admob.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 

android:id="@+id/AdmobLayout" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical"> 

<com.google.android.gms.ads.AdView 
    android:id="@+id/adView" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    ads:adSize="BANNER" 
    ads:adUnitId="ca-app-pub-5599997006266549/8381977716" /> 

теперь добавить эту точку зрения в настройках фрагмента.

getActivity().setcontentView(R.layout.admob); 

Ваше объявление будет отображаться

+1

Я закодирован фрагмент AdMob в отдельном макете с самого начала. Мой вопрос в том, как сохранить показ объявлений на вторичных экранах предпочтений (дочерних) – user2260455

+0

Кто-то уже нашел решение? На самом деле нужен ответ. благодаря –