Cómo hacer un RelativeLayout en la parte inferior de un RelativeLayout?
-
28-09-2019 - |
Pregunta
tengo un RelativeLayout
, y esto tiene dos Disposición del niño, uno es un MapView
y el otro un RelativeLayout
que contiene un botón.
quiero que se vea como que
pero mi caja transparente (un RelativeLayout
) siempre aparece en la parte superior del mapa.
<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>
(He dejado de lado algunas cosas en el código)
Solución
Trate de añadir una opción alignParentBottom al panel transparente.
<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>
Otros consejos
Como se señaló Konstantin uso layout_alignParentBottom
para colocar el botón en la parte inferior de la vista. El problema ahora es que el MapView también tendrá una extensión de sí mismo a la parte inferior de la matriz. Por tanto, el MapView se'grow' bajo el botón hasta que se llena la matriz.
Trate lo siguiente. Primera posición el botón en la parte inferior de la vista padre, luego alinee sobre el botón.
<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>