Как разместить RelativeLayout в нижней части RelativeLayout? - PullRequest
2 голосов
/ 16 августа 2010

У меня есть RelativeLayout, и у этого макета есть два дочерних элемента, один - MapView, а другой - RelativeLayout, содержащий кнопку.

Я хочу, чтобы это выглядело так

но мой прозрачный прямоугольник (a RelativeLayout) всегда отображается вверху карты.

<RelativeLayout 
  android:layout_width="wrap_content"
  android:layout_height="wrap_content">

  <com.google.android.maps.MapView
    android:id="@+id/mapView"/>

    <test.project.TransparentPanel 
      android:layout_width="fill_parent"
      android:layout_width="fill_parent">   

        <Button 
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:text="Click Me!"/>   

    </test.project.TransparentPanel>

</RelativeLayout>   

(я пропустил некоторые вещи в коде)

Ответы [ 2 ]

9 голосов
/ 16 августа 2010

Попробуйте добавить параметр alignParentBottom на прозрачную панель.

<RelativeLayout 
  android:layout_width="wrap_content"
  android:layout_height="wrap_content">

  <com.google.android.maps.MapView 
    android:id="@+id/mapView"/>

  <test.project.TransparentPanel
    android:layout_width="fill_parent"
    android:layout_width="fill_parent"
    android:layout_alignParentBottom="true">

      <Button 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Click Me!"/>         

  </test.project.TransparentPanel>

</RelativeLayout> 
2 голосов
/ 16 августа 2010

Как отметил Константин, используйте layout_alignParentBottom, чтобы расположить кнопку внизу вашего обзора.Проблема сейчас в том, что представление карты также будет растягиваться до нижней части родительского элемента.Поэтому просмотр карты будет «расти» под кнопкой до тех пор, пока родительский объект не будет заполнен.

Попробуйте следующее.Сначала поместите кнопку внизу родительского вида, затем выровняйте ее над кнопкой.

<RelativeLayout 
  android:layout_width="wrap_content"
  android:layout_height="wrap_content">

  <test.project.TransparentPanel
    android:id="@+id/button_area"
    android:layout_width="fill_parent"
    android:layout_width="fill_parent"
    android:layout_alignParentBottom="true">

      <Button 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Click Me!"/>         

  </test.project.TransparentPanel>

  <com.google.android.maps.MapView 
    android:id="@+id/mapView"
    layout_above="@id/button_area"/>

</RelativeLayout> 
...