82 votes

Comment forcer EditText à commencer le texte par une majuscule ?

J'ai un EditText et j'ai besoin que le texte qu'il contient (lorsque l'utilisateur entre) commence par une majuscule.

166voto

Maragues Points 9461

Soyez prudent si vous ajoutez à la fois android:capitalize="sentences" et android:inputType="text" , car ce dernier semble avoir la priorité sur le premier et l'entrée ne sera pas en majuscule.

Il existe un inputType spécifique pour la mise en majuscule automatique de la première lettre :

android:inputType="textCapSentences"

Voir http://developer.android.com/reference/android/widget/TextView.html#attr_android:inputType

23voto

DeadlyChambers Points 632

Les options pour android:capitalize sont

 android:inputType="none", which won't automatically capitalize anything.

android:inputType="sentences", Which will capitalize the first word of each sentence.

android:inputType="words", Which Will Capitalize The First Letter Of Every Word.

android:inputType="characters", WHICH WILL CAPITALIZE EVERY CHARACTER.

Apparemment, il a été changé en inputType au lieu de capitalize

18voto

ViliusK Points 1257

Utilisation

 android:inputType="textPersonName|textCapWords"

car utiliser uniquement "textPersonName" n'est pas suffisant, les premières lettres du nom seraient donc en majuscule.

De même avec les adresses postales :

 android:inputType="textPostalAddress|textCapSentences"

8voto

mukulg Points 81

Ajoutez ceci dans votre XML

  android:inputType="textCapWords"

android:inputType="textCapSentences" fonctionnera pour les phrases. Cependant, j'avais besoin de mettre en majuscule chaque mot dans un champ de nom complet.

6voto

Lakshmanan Points 630

Essayez de cette façon,

 testEditText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_WORDS);

ou android:inputType="textCapSentences" ne fonctionnera que si le paramètre de mise en majuscule automatique du clavier de votre appareil est activé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X