文本转换:Android中的大写等价物?
这是否存在? 我需要做一个总是大写的TextView。
在TextView属性中我没有看到任何这样的内容,但是在设置它之前,你可以使文本大写:
textView.setText(text.toUpperCase());
如果TextView是EditText,并且您希望用户input的任何内容都是大写的,则可以实现TextWatcher并使用EditText addTextChangedListener添加它,onTextChange方法将用户inputreplace为大写的相同文本。
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) { }
};
尝试这个:
<TextView android:textAllCaps="true" />
对于您的EditText,您可以使用InputFilter.AllCaps作为filter
editText.setFilters(new InputFilter[]{new InputFilter.AllCaps()});
请参阅: http : //d.android.com/reference/android/text/InputFilter.AllCaps.html
你也可以通过android:inputType
指定你的EditText:
<EditText ... android:inputType="textCapCharacters" />
使用
android:textAllCaps="true"
这将使您的所有Textview
资本。
你可以做到这一点,只需要将TYPE_TEXT_FLAG_CAP_CHARACTERS添加到InputType ::
editText.setInputType(android.text.InputType.TYPE_CLASS_TEXT + android.text.InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS);
我希望得到帮助!
我在Android开发者指南中发现了这个 :
<TextView ... android:capitalize="characters" ... />