文本转换:Android中的大写等价物?
这是否存在?我需要创建一个始终大写的TextView。我在TextView属性中没有看到类似的内容。但是,您可以在设置文本之前将其设置为大写:文本转换:Android中的大写等价物?,android,Android,这是否存在?我需要创建一个始终大写的TextView。我在TextView属性中没有看到类似的内容。但是,您可以在设置文本之前将其设置为大写: textView.setText(text.toUpperCase()); 如果TextView是EditText,并且您希望用户键入的任何内容都是大写的,那么可以实现TextWatcher并使用EditText addTextChangedListener添加它,并在onTextChange方法上获取用户输入,并将其替换为相同的大写文本 editTe
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) {
}
};
对于EditText,可以使用InputFilter.AllCaps作为筛选器
editText.setFilters(new InputFilter[]{new InputFilter.AllCaps()});
见:
您还可以通过android:inputType指定编辑文本:
<EditText
...
android:inputType="textCapCharacters" />
我在android开发者指南中找到:
<TextView
...
android:capitalize="characters"
...
/>
试试这个:
<TextView
android:textAllCaps="true"
/>
您可以这样做,只需在InputType中添加TYPE\u TEXT\u FLAG\u CAP\u字符:
editText.setInputType(android.text.InputType.TYPE_CLASS_TEXT
+ android.text.InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS);
我希望能得到帮助 使用
android:textAllCaps="true"
这将使您的所有
文本视图
大写。如果文本
是一个字符串,则该选项有效。如果您使用R.String.someID
从xml文件中获取字符串,那么您需要加入Resources.getString
调用()我担心我必须这样做。我希望有一个简单的属性我丢失了。这不会造成堆栈溢出吗?这个答案是错误的。请参阅Lars回答:您可以使用textAllCaps
属性来执行此操作。在textChanged侦听器内调用editText.setText()
将导致无限循环。至少对我来说,它没有删除然后重新添加TextWatcher。过滤器工作得很好,非常感谢。但是,我不建议使用inputType“textCapCharacters”,因为它已被弃用。@Raykud您在哪里看到textCapCharacters
已被弃用?我知道我很晚才发表评论,但一旦所有字符都大写,是否有类似InputFilter的内容。Allsmallcharacters?这只适用于EditText,而不是TextView。从文档中:“[…]自动大写用户键入的内容”真实答案??呵呵。。。。“android:capitalize不推荐使用:改用inputType”android:textAllCaps
仅适用于minSdkVersion>=14(冰淇淋三明治)的情况。我知道这是3年多前的评论,但这仅适用于使用屏幕键盘的情况-如果有人有物理键盘(蓝牙或设备),则忽略它,最好用一个听者