Uso RelativeLayouts extensamente en mi aplicación y pensé que sabía cómo especificarlos, pero esto me tiene perdido. Básicamente estoy posicionando 4 TextViews en dos filas de dos, cada una de las cuales consiste en una etiqueta y un texto que se suministrarán. Debe ser algo como:Android layout_below no funciona
Nacido el 23 agosto 1810 Mason Co., Kentucky
Murió el 15 julio 1865 Cincinnati, Hamilton Co., Ohio
Ésta es la parte pertinente de la disposición:
<TextView android:id="@+id/birth_lbl"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/given_layout"
android:layout_alignLeft="@+id/given_layout"
android:layout_marginTop="6dip"
style="@style/label"
android:text="@string/born"
/>
<TextView android:id="@+id/birth"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/birth_lbl"
android:layout_alignBaseline="@+id/birth_lbl"
android:layout_marginLeft="10dip"
android:layout_marginRight="6dip"
style="@style/main_text"
android:text="dd Mmm yy"
/>
<TextView android:id="@+id/death_lbl"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/birth"
android:layout_alignLeft="@+id/birth_lbl"
android:layout_marginTop="4dip"
style="@style/label"
android:text="@string/died"
/>
<TextView android:id="@+id/death"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/death_lbl"
android:layout_alignLeft="@+id/birth"
android:layout_alignBaseline="@+id/death_lbl"
android:layout_marginRight="6dip"
style="@style/main_text"
android:text="dd Mmm yy"
/>
¡Por alguna razón, esto muestra las vistas de la línea de muerte SOBRE LAS vistas de la línea de nacimiento! Si cambio la especificación de la vista death_lbl para que en su lugar sea 'layout_below = "@ + id/birth_lbl"', ¡las líneas se posicionan correctamente! Sin embargo, es posible que la vista de "nacimiento" se ajuste a varias líneas, así que realmente necesito ubicar la 2da línea debajo de "nacimiento", no "nacimiento_lbl".
¿Alguien sabe el motivo de este comportamiento? Se produce tanto en el editor de diseño gráfico en Eclipse como en el tiempo de ejecución en mi tableta con Android 4.0.
El signo '+' en la declaración 'id' debe usarse solo en la primera aparición del' id'. Debería editar y publicar el archivo de diseño completo para ver las vistas adicionales que usa ('given_layout'?).Lo probé en el emulador y para mi está funcionando, pero por supuesto no tengo la vista adicional 'given_layout'. – Luksprog
Es porque, como dijo Slukian, ni siquiera sabes lo que estás haciendo ... Deja de usar el '+' donde quieras e intenta considerar que cada + que tienes es como crear una nueva variable ... Incluso es bonita Es extraño que el compilador no diga una palabra sobre eso ... – Cehm
¡Más suavemente aquí! El compilador de Android 21 pone estas ventajas cuando usas el "diseño". La razón por la que hacemos preguntas es porque, como dices, no lo sabemos. – user462990