Это существует? Мне нужно сделать TextView, который всегда имеет верхний регистр.
Текстовое преобразование: эквивалент в верхнем регистре в Android?
Ответ 1
Я не вижу ничего подобного в атрибутах TextView, однако вы можете просто сделать текст в верхнем регистре, прежде чем устанавливать его:
textView.setText(text.toUpperCase());
Если TextView является EditText и вы хотите, чтобы все типы пользователей были заглавными, вы могли бы реализовать TextWatcher и использовать AddTextChangedListener EditText, чтобы добавить его, в методе onTextChange введите пользовательский ввод и замените его тем же текстом в верхний регистр.
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) {
}
};
Ответ 2
Попробуйте следующее:
<TextView
android:textAllCaps="true"
/>
Ответ 3
Для вашего EditText вы можете использовать InputFilter.AllCaps как фильтр
editText.setFilters(new InputFilter[]{new InputFilter.AllCaps()});
См: http://d.android.com/reference/android/text/InputFilter.AllCaps.html
Также вы можете указать свой EditText с помощью android:inputType
:
<EditText
...
android:inputType="textCapCharacters" />
Ответ 4
использовать
android:textAllCaps="true"
это сделает весь ваш капитал Textview
.
Ответ 5
Вы можете сделать это, добавив только TYPE_TEXT_FLAG_CAP_CHARACTERS к InputType::
editText.setInputType(android.text.InputType.TYPE_CLASS_TEXT
+ android.text.InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS);
Надеюсь, вам помогут!
Ответ 6
Я нашел this в руководстве разработчиков Android:
<TextView
...
android:capitalize="characters"
...
/>