Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
Chapitre 7
Conteneurs 47
Les valeurs les plus utilisées sont les deux dernières, car elles sont indépendantes de la
taille de l’écran ; Android peut donc ajuster la disposition pour qu’elle tienne dans
l’espace disponible.
Poids
Que se passera-t-il si deux widgets doivent se partager l’espace disponible ? Supposons,
par exemple, que nous ayons deux champs de saisie multilignes en colonne et que nous
voulions qu’ils occupent tout l’espace disponible de la colonne après le placement de tous
les autres widgets.
Pour ce faire, en plus d’initialiser android:layout_width (pour les lignes) ou
android:layout_height (pour les colonnes) avec fill_parent, il faut également
donner à android:layout_weight, une valeur qui indique la proportion d’espace libre
qui sera affectée au widget. Si cette valeur est la même pour les deux widgets (1, par
exemple), l’espace libre sera partagé équitablement entre eux. Si la valeur est 1 pour un
widget et 2 pour l’autre, le second utilisera deux fois plus d’espace libre que le premier,
etc.
Gravité
Par défaut, les widgets s’alignent à partir de la gauche et du haut. Si vous créez une ligne
avec un LinearLayout horizontal, cette ligne commencera donc à se remplir à partir du
bord gauche de l’écran.
Si ce n’est pas ce que vous souhaitez, vous devez indiquer une gravité à l’aide de la
propriété android:layout_gravity d’un widget (ou en appelant la méthode setGravity() sur celui-ci) afin d’indiquer au widget et à son conteneur comment l’aligner par
rapport à l’écran.
Pour une colonne de widgets, les gravités les plus courantes sont left, center_horizontal et right pour, respectivement, aligner les widgets à gauche, au centre ou à droite.
Pour une ligne, le comportement par défaut consiste à placer les widgets de sorte que leur
texte soit aligné sur la ligne de base (la ligne invisible sur laquelle les lettres semblent
reposer), mais il est possible de préciser une gravité center_vertical pour centrer verticalement les widgets dans la ligne.
Remplissage
Les widgets sont, par défaut, serrés les uns contre les autres. Vous pouvez augmenter
l’espace intercalaire à l’aide de la propriété android:padding (ou en appelant la méthode
setPadding() de l’objet Java correspondant au widget).
La valeur de remplissage précise l’espace situé entre le contour de la "cellule" du widget et
son contenu réel. Elle est analogue aux marges d’un document dans un traitement de texte
Livre Android.book Page 47 Dimanche, 8. novembre 2009 12:23 12
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
Chapitre 7
Conteneurs 47
Les valeurs les plus utilisées sont les deux dernières, car elles sont indépendantes de la
taille de l’écran ; Android peut donc ajuster la disposition pour qu’elle tienne dans
l’espace disponible.
Poids
Que se passera-t-il si deux widgets doivent se partager l’espace disponible ? Supposons,
par exemple, que nous ayons deux champs de saisie multilignes en colonne et que nous
voulions qu’ils occupent tout l’espace disponible de la colonne après le placement de tous
les autres widgets.
Pour ce faire, en plus d’initialiser android:layout_width (pour les lignes) ou
android:layout_height (pour les colonnes) avec fill_parent, il faut également
donner à android:layout_weight, une valeur qui indique la proportion d’espace libre
qui sera affectée au widget. Si cette valeur est la même pour les deux widgets (1, par
exemple), l’espace libre sera partagé équitablement entre eux. Si la valeur est 1 pour un
widget et 2 pour l’autre, le second utilisera deux fois plus d’espace libre que le premier,
etc.
Gravité
Par défaut, les widgets s’alignent à partir de la gauche et du haut. Si vous créez une ligne
avec un LinearLayout horizontal, cette ligne commencera donc à se remplir à partir du
bord gauche de l’écran.
Si ce n’est pas ce que vous souhaitez, vous devez indiquer une gravité à l’aide de la
propriété android:layout_gravity d’un widget (ou en appelant la méthode setGravity() sur celui-ci) afin d’indiquer au widget et à son conteneur comment l’aligner par
rapport à l’écran.
Pour une colonne de widgets, les gravités les plus courantes sont left, center_horizontal et right pour, respectivement, aligner les widgets à gauche, au centre ou à droite.
Pour une ligne, le comportement par défaut consiste à placer les widgets de sorte que leur
texte soit aligné sur la ligne de base (la ligne invisible sur laquelle les lettres semblent
reposer), mais il est possible de préciser une gravité center_vertical pour centrer verticalement les widgets dans la ligne.
Remplissage
Les widgets sont, par défaut, serrés les uns contre les autres. Vous pouvez augmenter
l’espace intercalaire à l’aide de la propriété android:padding (ou en appelant la méthode
setPadding() de l’objet Java correspondant au widget).
La valeur de remplissage précise l’espace situé entre le contour de la "cellule" du widget et
son contenu réel. Elle est analogue aux marges d’un document dans un traitement de texte
Livre Android.book Page 47 Dimanche, 8. novembre 2009 12:23 12
