Comment appliquer EditText pour démarrer le texte en majuscule?

J’ai un EditText et j’ai besoin que le texte (lorsque l’utilisateur tape dans) soit démarré avec une majuscule.

Attention 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 mettre automatiquement en majuscule la première lettre:

android:inputType="textCapSentences"

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

Les options pour Android: capitaliser sont

 android:capitalize="none", which won't automatically capitalize anything. android:capitalize="sentences", Which will capitalize the first word of each sentence. android:capitalize="words", Which Will Capitalize The First Letter Of Every Word. android:capitalize="characters", WHICH WILL CAPITALIZE EVERY CHARACTER. 

Utilisation

 android:inputType="textPersonName|textCapWords" 

comme utiliser uniquement "textPersonName" n’est pas suffisant, les premières lettres du nom seraient en majuscules.

De même avec les adresses postales:

 android:inputType="textPostalAddress|textCapSentences" 

Ajoutez ceci dans votre XML

  android:inputType="textCapWords" 

android:inputType="textCapSentences" fonctionnera pour les phrases. Cependant, je devais capitaliser chaque mot dans un champ de nom complet.

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 clavier de votre appareil est activé avec la fonction de mise en majuscules automatique .

Dans le layout XML, ajoutez android:inputType=textCapSentences

Dans le layout XML, ajoutez android:capitalize="sentences"

Vous avez utilisé le mot “Enforce”. Alors, essayez ceci. Passez simplement votre edittext en argument.

 public static void setCapitalizeTextWatcher(final EditText editText) { final TextWatcher textWatcher = new TextWatcher() { int mStart = 0; @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { mStart = start + count; } @Override public void afterTextChanged(Editable s) { Ssortingng input = s.toSsortingng(); Ssortingng capitalizedText; if (input.length() < 1) capitalizedText = input; else capitalizedText = input.substring(0, 1).toUpperCase() + input.substring(1); if (!capitalizedText.equals(editText.getText().toString())) { editText.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void afterTextChanged(Editable s) { editText.setSelection(mStart); editText.removeTextChangedListener(this); } }); editText.setText(capitalizedText); } } }; editText.addTextChangedListener(textWatcher); } 

Collez ceci dans votre edittext (xml):

  android:capitalize="sentences" 
 edittext.setFilters(new InputFilter[] {new InputFilter.AllCaps()});