Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
38 L’art du développement Android
Champs de saisie
Outre les boutons et les labels, les champs de saisie forment le troisième pilier de la
plupart des outils de développement graphiques. Avec Android, ils sont représentés par le
widget EditText, qui est une sous-classe de TextView, déjà vue pour les labels.
En plus des propriétés standard de TextView (android:textStyle, par exemple), EditText possède de nombreuses autres propriétés dédiées à la construction des champs.
Parmi elles, citons :
● android:autoText pour indiquer si le champ doit fournir une correction automatique
de l’orthographe.
● android:capitalize pour demander que le champ mette automatiquement en
majuscule la première lettre de son contenu.
● android:digits pour indiquer que le champ n’acceptera que certains chiffres.
● android:singleLine pour indiquer si la saisie ne s’effectue que sur une seule ou
plusieurs lignes (autrement dit, vous place-t-il sur le widget suivant ou ajoutet-il une nouvelle ligne ?).
Outre ces propriétés, vous pouvez configurer les champs pour qu’ils utilisent des méthodes
de saisie spécialisées, avec les attributs android:numeric pour imposer une saisie uniquement numérique, android:password pour masquer la saisie d’un mot de passe et
android:phoneNumber pour la saisie des numéros de téléphone. Pour créer une méthode
de saisie particulière (afin, par exemple, de saisir des codes postaux ou des numéros de
sécurité sociale), il faut implémenter l’interface InputMethod puis configurer le champ
pour qu’il utilise cette méthode, à l’aide de l’attribut android:inputMethod.
Voici, par exemple, la description d’un EditText tiré du projet Basic/Field :

android:id="@+id/field"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:singleLine="false"
/>
Vous remarquerez que la valeur d’android:singleLine est false, ce qui signifie que les
utilisateurs pourront saisir plusieurs lignes de texte dans ce champ.
Le fichier FieldDemo.java de ce projet remplit le champ de saisie avec un peu de prose :
package com.commonsware.android.basic;
import android.app.Activity;
import android.os.Bundle;
Livre Android.book Page 38 Dimanche, 8. novembre 2009 12:23 12
Précédent

- 53/391

Suivant