2014-09-01 7 views
0

Я использую службу admob, которую Google предоставляет, чтобы разработчик мог поместить объявление в свое приложение. Приложение отображается отлично, однако я хочу, чтобы приложение отображалось в нижней части экрана, в отличие от верхней части.Поместить рекламу в нижней части страницы, android

Учитывая мой ниже код XML, как бы я это сделал?

Спасибо за помощь!

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:ads="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/linearLayout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <LinearLayout android:layout_alignParentTop="true" 
     android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
     > 
    <android.support.v4.view.ViewPager 
    android:id="@+android:id/viewpager" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    /> 
    </LinearLayout> 
     <com.google.android.gms.ads.AdView 
     android:id="@+id/adView" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"   
     ads:adSize="SMART_BANNER" 
     ads:adUnitId="" > 

    </com.google.android.gms.ads.AdView> 


</RelativeLayout> 

Я также использую этот код Java:

adView = (AdView) this.findViewById(R.id.adView); 
     // Create an ad. 
     adView = new AdView(this); 
     adView.setAdSize(AdSize.SMART_BANNER); 
     adView.setAdUnitId(AD_UNIT_ID); 

     //LinearLayout layout = (LinearLayout) findViewById(R.id.linearLayout); 
     RelativeLayout layout = (RelativeLayout) findViewById(R.id.linearLayout); 
     layout.addView(adView); 

     AdRequest adRequest = new AdRequest.Builder() 
     .addTestDevice(AdRequest.DEVICE_ID_EMULATOR) 
     .addTestDevice("INSERT_YOUR_HASHED_DEVICE_ID_HERE") 
     .build(); 

ответ

1

В вашем AdView добавить строку android:layout_alignParentBottom="true", чтобы отобразить его в нижней части родителя, а также ваша линейная компоновка занимает все пространство экрана изменить высота для обертывания содержимого.

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:ads="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/linearLayout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:orientation="vertical"> 

     <android.support.v4.view.ViewPager 
      android:id="@+id/viewpager" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" /> 
    </LinearLayout> 

    <com.google.android.gms.ads.AdView 
     android:id="@+id/adView" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     ads:adSize="SMART_BANNER" 
     ads:adUnitId="" /> 
</RelativeLayout> 
+0

Эй спасибо за ответ. Вышеприведенное не похоже на что-либо, может ли это быть чем-то связанным с моим , занимающим всю высоту? – Callum

+0

Да, попробуйте установить высоту просмотра страницы на 20dp и проверьте, отображается ли реклама, а также удалите вес. – Psypher

+0

Хммм, это тоже ничего не делает. Может ли это быть чем-то связанным с кодом java, который я использую для доступа к настройкам объявления? Кроме того, я использую относительный макет страницы ... может ли это быть причиной? – Callum

0

Попробуйте это:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:ads="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/linearLayout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <android.support.v4.view.ViewPager 
    android:id="@+android:id/viewpager" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="1" 
    /> 

<com.google.android.gms.ads.AdView 
    android:id="@+id/adView" 
    android:layout_width="match_parent" 
    android:layout_height="50dp"   
    ads:adSize="SMART_BANNER" 
    ads:adUnitId="" /> 

</LinearLayout> 
+0

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

Смежные вопросы