文本转换: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" ... />