我正在动态创建EditText
,我想禁用任何句子(新行)的自动大写。
我已经为EditText.setInputType(int)
尝试了一系列标志,但是没有一个标志能够禁用在新行上启用的shift键。
这是我的代码:
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
EditText editText = new EditText(context);
int type = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_MULTI_LINE
| InputType.TYPE_TEXT_FLAG_IME_MULTI_LINE;
if (preferences.getBoolean("disable_suggestions", true)) {
type |= InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS
| InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD;
}
if (preferences.getBoolean("disable_auto_capitalization", true)) {
//
// TODO: StackOverflow to the rescue! What flag do I need?
//
}
editText.setInputType(type);
我已经广泛搜索了StackOverflow以获得答案,我找到的唯一问题是this。
答案 0 :(得分:0)
正如@CommonsWare指出的那样,你在做什么应该没问题。无法保证所有设备的禁用自动资本化。
如果用户使用的是第三方键盘,例如SwiftKey,它可能会覆盖禁用自动大写;用户必须在第三方应用程序设置中手动执行此操作。