studio que layout_below ejemplos constraint android android-layout

que - relativelayout android studio ejemplos



¿Qué hay de malo con mi inclusión en RelativeLayout? (2)

Quiero crear una actividad con una barra de título en la parte superior y una barra de navegación en la parte inferior. Utilicé include para incluir el diseño de la barra de título y el diseño de la barra de navegación en el diseño principal, como se puede ver a continuación. El resultado es que tanto la barra de título como la barra de navegación van a la parte superior de la pantalla. ¿Podría alguien decirme por qué? ¡Gracias!

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/home_widget" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/background"> <include android:id="@+id/title_bar" layout="@layout/title_bar" android:layout_alignParentTop="true" /> <include android:id="@+id/navigation_bar" layout="@layout/navigation_bar" android:layout_alignParentBottom="true"/> </RelativeLayout>

[Editar] No encontré la causa raíz. Pero las siguientes obras:

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/home_widget" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/background"> <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:id="@+id/title_bar" > <include layout="@layout/title_bar" /> </RelativeLayout> <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:id="@+id/navigation_bar" > <include layout="@layout/navigation_bar" /> </RelativeLayout>


No tiene nada que ocupar el espacio entre la barra superior e inferior por el aspecto de la misma.

Como un lado, no tiendo a usar LinearLayout en su lugar y uso el atributo layout_weight de la siguiente manera;

title_bar & navigation_bar get layout_weight = "0" y el contenido entre los dos obtiene layout_weight = "1". Esto le dice al administrador de diseño que expanda el contenido para llenar el espacio entre los dos si su diseño lineal es;

title_bar contenido navegación_bar


Para anular los atributos del diseño que está incluyendo, también debe anular tanto el ancho como la altura del diseño. Si ambas configuraciones no se anulan, cualquier otro cambio de diseño que intente se ignorará.

Su diseño de arriba

<include android:id="@+id/title_bar" layout="@layout/title_bar" android:layout_alignParentTop="true" /> <include android:id="@+id/navigation_bar" layout="@layout/navigation_bar" android:layout_alignParentBottom="true"/>

En realidad, debe estar con un contenido de envoltura o llenar padre, según corresponda.

<include android:id="@+id/navigation_bar" layout="@layout/navigation_bar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true"/>