Android 动态禁用EditText的自动大小写
我正在动态创建一个Android 动态禁用EditText的自动大小写,android,android-edittext,Android,Android Edittext,我正在动态创建一个EditText,我想在任何句子(新行)上禁用自动大写 我尝试了多种不同的标志,但没有一种标志能够在新行上禁用shift键 这是我的密码: SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); EditText editText = new EditText(context); int type = InputType.TYPE_CLASS_TEXT |
EditText
,我想在任何句子(新行)上禁用自动大写
我尝试了多种不同的标志,但没有一种标志能够在新行上禁用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中搜索了大量答案,找到的唯一问题是。正如@commonware所指出的,您所做的应该是正确的。不可能保证在所有设备上禁用自动资本化
如果用户使用的是第三方键盘,如快捷键,它可能会覆盖禁用自动大写;用户必须在第三方应用程序设置中手动执行此操作。正如@commonware所指出的,您所做的应该是正常的。不可能保证在所有设备上禁用自动资本化
如果用户使用的是第三方键盘,如快捷键,它可能会覆盖禁用自动大写;用户必须在第三方应用程序设置中手动执行此操作。请理解,
setInputType()
是一个请求,而不是命令,因此并非所有输入法编辑器(又称软键盘)都会满足您的请求。好的,你有的应该没问题。谢谢@commonware提供你的意见。你是说不可能禁用自动资本化吗?不可能保证所有设备都禁用自动资本化。再一次,从我所能告诉你的,你所拥有的应该是好的。如果您正在某台设备上试用,但该设备仍然自动大写,请在官方Android SDK模拟器上试用您的应用程序。如果它在那里正常工作,您就知道您的设备或安装在该设备上的输入法编辑器是问题的根源,对此您无能为力。如果,OTOH,Android SDK emulator也自动大写,那么也许您的代码中还需要一些东西,尽管我不知道是什么。请理解setInputType()
是一个请求,而不是命令,因此并非所有输入法编辑器(又称软键盘)都会满足您的请求。好的,你有的应该没问题。谢谢@commonware提供你的意见。你是说不可能禁用自动资本化吗?不可能保证所有设备都禁用自动资本化。再一次,从我所能告诉你的,你所拥有的应该是好的。如果您正在某台设备上试用,但该设备仍然自动大写,请在官方Android SDK模拟器上试用您的应用程序。如果它在那里正常工作,您就知道您的设备或安装在该设备上的输入法编辑器是问题的根源,对此您无能为力。如果,OTOH,Android SDK emulator也自动大写,那么也许您的代码中还需要一些东西,尽管我不知道是什么。请理解setInputType()
是一个请求,而不是命令,因此并非所有输入法编辑器(又称软键盘)都会满足您的请求。好的,你有的应该没问题。谢谢@commonware提供你的意见。你是说不可能禁用自动资本化吗?不可能保证所有设备都禁用自动资本化。再一次,从我所能告诉你的,你所拥有的应该是好的。如果您正在某台设备上试用,但该设备仍然自动大写,请在官方Android SDK模拟器上试用您的应用程序。如果它在那里正常工作,您就知道您的设备或安装在该设备上的输入法编辑器是问题的根源,对此您无能为力。如果,OTOH,Android SDK模拟器也自动大写,那么您的代码中可能还需要一些东西,尽管我不知道是什么。