Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
74 L’art du développement Android
Voici les propriétés qui, combinées, déterminent le nombre et la taille des colonnes :
● android:numColumns indique le nombre de colonnes ; si sa valeur est auto_fit,
Android calculera ce nombre en fonction de l’espace disponible et de la valeur des
autres propriétés.
● android:verticalSpacing et son homologue android:horizontalSpacing précisent
l’espace séparant les éléments de la grille.
● android:columnWidth indique la largeur de chaque colonne en pixels.
● android:stretchMode indique, pour les grilles dont la valeur d’android:numColumns est auto_fit, ce qui devra se passer lorsqu’il reste de l’espace non occupé par des
colonnes ou des espaces de séparation : si sa valeur est columnWidth, cet espace disponible sera pris par les colonnes ; si elle vaut spacingWidth, il sera absorbé par l’espacement entre les colonnes. Supposons, par exemple, que l’écran fasse 320 pixels de
large, que la valeur d’android:columnWidth soit de 100px et celle d’android:horizontalSpacing, de 5px : trois colonnes occuperaient donc 310 pixels (trois colonnes
de 100 pixels et deux séparations de 5 pixels). Si android:stretchMode vaut columnWidth, les trois colonnes s’élargiront de 3-4 pixels pour utiliser les 10 pixels restants ;
si android:stretchMode vaut spacingWidth, les deux espacements s’élargiront
chacun de 5 pixels pour absorber ces 10 pixels.
Pour le reste, GridView fonctionne exactement comme n’importe quel autre widget de
sélection – on utilise setAdapter() pour fournir les données et les vues filles, on appelle
setOnItemSelectedListener() pour enregistrer un écouteur de choix, etc.
Voici, par exemple, le fichier de disposition XML du projet Selection/Grid :

xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
android:id="@+id/selection"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
android:id="@+id/grid"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:verticalSpacing="35px"
android:horizontalSpacing="5px"
android:numColumns="auto_fit"
android:columnWidth="100px"
Livre Android.book Page 74 Dimanche, 8. novembre 2009 12:23 12
Précédent

- 89/391

Suivant