强制在 android 中的搜索视图中写入大写字母

force to write uppercase in searchview in android

我需要强制用户在 searchview v7 中用大写字母书写 你知道这样做的方法吗?与 editText 中使用的类似:

filter_text.setFilters(new InputFilter[]{new InputFilter.AllCaps()});

如果你想强制用户在你的 EditText 上输入大写字母,你只需要添加 android:inputType="textCapCharacters" 并且你的设备上的键盘将设置为大写。

在代码中,您可以通过添加以下内容来实现。

searchView.setInputType(InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS);

您可以添加的所有其他内容都可以找到 here

编辑:

其实更好的办法是

searchView.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_SENTENCES);

或者,你也可以在searchable.xml里面设置android:inputTypetextCapWords,如果你按照官方SearchView 设置指南。

https://developer.android.com/training/search/setup.html

要只写第一个大写字母,您可以使用此代码:

search.setInputType(InputType.TYPE_TEXT_FLAG_CAP_SENTENCES);

API 28+级:

searchView.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS)

Kotlin

inputType = InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS