55 votes

Transformation de texte: équivalent majuscule sous Android?

Est-ce que ça existe? J'ai besoin de faire un TextView qui est toujours en majuscule.

117voto

Lars Van de Donk Points 614

Essaye ça:

    <TextView 
            android:textAllCaps="true"
    />
 

34voto

lander16 Points 549

Je ne vois rien de tel dans les attributs de TextView, mais vous pouvez simplement mettre le texte en majuscule avant de le définir:

 textView.setText(text.toUpperCase());
 

Si TextView est un EditText et que vous voulez que le type d'utilisateur soit en majuscule, vous pouvez implémenter un TextWatcher et utiliser EditText addTextChangedListener pour l'ajouter, une méthode onTextChange prend l'entrée utilisateur et le remplace par le même texte en majuscule.

 editText.addTextChangedListener(upperCaseTextWatcher);

final TextWatcher upperCaseTextWatcher = new TextWatcher() {

public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}

public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
    editText.setText(editText.getText().toString().toUpperCase());
    editText.setSelection(editText.getText().toString().length());
}

public void afterTextChanged(Editable editable) {
}
 

};

31voto

synergy Points 227

Pour votre EditText, vous pouvez utiliser InputFilter.AllCaps en tant que filtre

 editText.setFilters(new InputFilter[]{new InputFilter.AllCaps()});
 

Voir: http://d.android.com/reference/android/text/InputFilter.AllCaps.html

Vous pouvez également spécifier votre EditText via android:inputType :

 <EditText
    ...
    android:inputType="textCapCharacters" />
 

2voto

Alex Pimenta Points 11

Vous pouvez le faire en ajoutant uniquement TYPE_TEXT_FLAG_CAP_CHARACTERS à InputType ::

 editText.setInputType(android.text.InputType.TYPE_CLASS_TEXT
                   + android.text.InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS);
 

J'espère être aidé!

1voto

JoseAntonio Points 19

J'ai trouvé cela au guide des développeurs Android:

 <TextView 
...
android:capitalize="characters"
...
/>
 

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