Android AdMob Позиция внизу экрана не работает

Относительный макет работает, но когда я это делаю, все мои текстовые представления и переключатели перебрасываются в верхний левый угол экрана, пожалуйста, помогите.

ГЛАВНЫЙ.XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"   
android:layout_height="fill_parent"
android:background="@drawable/pattern_carbon_fiber_dark">

<com.google.ads.AdView
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 
android:id="@+id/adView"
android:layout_width="fill_parent" 
ads:adSize="BANNER"
ads:adUnitId="xxxxxxxxxxxxxx"
ads:loadAdOnCreate="true"
android:visibility="visible"
android:layout_alignParentBottom="true"
android:layout_gravity="bottom" 
android:layout_height="wrap_content">
</com.google.ads.AdView>

<TextView android:text="Silent Mode" android:layout_height="wrap_content"           android:id="@+id/textView1" android:layout_width="wrap_content"></TextView>
<ToggleButton android:layout_height="wrap_content" android:text="Silent Mode" android:id="@+id/silentbutton" android:layout_width="wrap_content" android:textOff="OFF" android:textOn="ON"></ToggleButton>
<TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Wifi "></TextView>
<ToggleButton android:layout_width="wrap_content" android:text="ToggleButton" android:layout_height="wrap_content" android:id="@+id/wifibutton"></ToggleButton>
<TextView android:layout_width="wrap_content" android:id="@+id/textView3" android:text="@string/network" android:layout_height="wrap_content"></TextView>
<TextView android:layout_gravity="center" android:text="@string/blank" android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/textView4"></TextView>          

</RelativeLayout>  

Когда я делаю линейный макет, кнопки переключения и текстовые представления в порядке, но реклама затем перемещается в центр экрана. Пожалуйста помоги.

Спасибо!


person Ryan Ciehanski    schedule 28.05.2011    source источник
comment
Делать linearlayout где?   -  person sgarman    schedule 29.05.2011
comment
Ничего, я исправил. Спасибо за помощь!   -  person Ryan Ciehanski    schedule 29.05.2011


Ответы (1)


из javadoc для Android о linearlayout.setGravity:

public void setGravity (внутренняя гравитация)

С: API уровня 1 Описывает, как расположены дочерние представления. По умолчанию GRAVITY_TOP. Если этот макет имеет ВЕРТИКАЛЬНУЮ ориентацию, этот параметр определяет, где размещаются все дочерние представления, если есть дополнительное пространство по вертикали. Если этот макет имеет ГОРИЗОНТАЛЬНУЮ ориентацию, этот параметр управляет выравниванием детей. Связанные XML-атрибуты

android:параметры гравитации

гравитация См. Гравитация


Так что он просто не предназначен для работы с линейным макетом. Я предлагаю вам либо

  • изменить порядок рекламного компонента
  • или использовать относительную компоновку, что часто дает гораздо лучший контроль над позиционированием компонентов.

С уважением, Стефан

person Snicolas    schedule 29.05.2011