À quoi fait référence la "ligne de base" lorsqu'elle est utilisée dans le contexte d'une disposition relative? Question simple, probablement, mais la documentation et Google n'offrent aucun indice.
Le terme la ligne de base vient de la typographie . Ce sont les lettres en ligne invisible dans le texte.
Par exemple, imaginez que vous placez deux éléments TextView
l'un à côté de l'autre. Vous donnez au second TextView
un grand rembourrage (disons 20dp). Si vous ajoutez layout_alignBaseline
au deuxième élément, le texte "remontera" pour s'aligner sur la ligne de base du premier élément. Le texte des deux éléments apparaîtra comme s'il avait été écrit sur la même ligne 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>
Voici une explication visuelle qui pourrait clarifier la réponse 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>
Ce code ressemblera à ceci:
Maintenant, si je supprime le Android:layout_alignBaseline
attribut, la même disposition ressemble à ceci:
Il est intéressant de noter qu'il y a un impact sur la hauteur de la vue orange (dans le premier cas, le rembourrage n'est pas appliqué en haut de la vue).