Est-ce que ça existe? J'ai besoin de faire un TextView qui est toujours en majuscule.
Réponses
Trop de publicités?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) {
}
};
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" />
J'ai trouvé cela au guide des développeurs Android:
<TextView
...
android:capitalize="characters"
...
/>