这是否存在?我需要创建一个始终为大写的TextView。
答案 0 :(得分:105)
试试这个:
<TextView
android:textAllCaps="true"
/>
答案 1 :(得分:31)
对于EditText,您可以使用InputFilter.AllCaps作为过滤器
editText.setFilters(new InputFilter[]{new InputFilter.AllCaps()});
请参阅: http://d.android.com/reference/android/text/InputFilter.AllCaps.html
您也可以通过android:inputType
指定您的EditText:
<EditText
...
android:inputType="textCapCharacters" />
答案 2 :(得分:30)
我在TextView属性中看不到这样的内容。但是,您可以在设置前将文本设为大写:
textView.setText(text.toUpperCase());
如果TextView是一个EditText,并且您希望用户输入的内容为大写,则可以实现TextWatcher并使用EditText addTextChangedListener添加它,并在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) {
}
};
答案 3 :(得分:9)
使用
android:textAllCaps="true"
这将使您的所有Textview
资本。
答案 4 :(得分:2)
你可以这样做,只将TYPE_TEXT_FLAG_CAP_CHARACTERS添加到InputType ::
editText.setInputType(android.text.InputType.TYPE_CLASS_TEXT
+ android.text.InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS);
我希望得到帮助!
答案 5 :(得分:1)
我在Android开发者指南中找到了this:
<TextView
...
android:capitalize="characters"
...
/>