Tengo un RelativeLayout
así:Problema con RelativeLayout cuando la visibilidad es View.GONE Ver
<RelativeLayout>
<TextView1/>
<TextView2/> // <-- View.VISIBLE OR View.GONE
<TextView3/>
<TextView4/>
</RelativeLayout>
Cada TextView
está anclado por debajo de la anterior TextView
con android:layout_below
.
El problema es que TextView2 puede o no estar allí (ya sea View.VISIBLE
o View.GONE
); si es View.VISIBLE
, todo está bien, pero si es View.GONE
, TextView3 termina renderizado encima de TextView1.
He intentado varias formas de solucionar esto, pero cada vez que estoy atrapado por RelativeLayout
"no se puede hacer referencia a una identificación antes de que esté definida" regla.
Espero que me esté perdiendo algo obvio aquí.
Agregar jerarquía a un archivo de diseño siempre es una mala idea, especialmente si se trata de un RelativeLayout. Cuanto más agregue, más Android creará Objetos para representar su diseño. Debería usar algo como android: layout_alignWithParentIfMissing = "true" en su lugar. También podría considerar usar otros diseños como TableLayout, por ejemplo. –