android - programacion - ¿Cuál es la línea de base en RelativeLayout?
relativelayout android ejemplos (2)
¿A qué se refiere "línea de base" cuando se usa en el contexto de un diseño relativo? Pregunta simple, probablemente, pero la documentación y Google no ofrecen pistas.
Aquí hay una explicación visual que podría aclarar la respuesta de Cristian:
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:id="@+id/text1"
android:text="Lorem"
android:background="@android:color/holo_blue_light"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:text="Ipsum"
android:background="@android:color/holo_orange_light"
android:padding="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/text1"
<!-->>>>>>>--> android:layout_alignBaseline="@id/text1" />
</RelativeLayout>
Este código se verá así:
Ahora, si android:layout_alignBaseline
atributo android:layout_alignBaseline
, el mismo diseño se ve así:
Es interesante observar que hay un impacto en la altura de la segunda vista (en el primer caso, el relleno no se aplica en la parte superior de la vista).
El término base proviene de la tipografía . Son las letras de línea invisibles en el texto sentado.
Por ejemplo, imagine que coloca dos elementos TextView
uno al lado del otro. Le das al segundo TextView
un relleno grande (digamos 20dp). Si agrega layout_alignBaseline
al segundo elemento, el texto se "desplazará" para alinearse con la línea base del primer elemento. El texto de ambos elementos aparecerá como si estuvieran escritos en la misma línea invisible.
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:id="@+id/text1"
android:text="aatlg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TextView
android:text="joof"
android:background="#00ff00"
android:padding="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/text1"
android:layout_alignBaseline="@id/text1"
/>
</RelativeLayout>