我希望在使用我的应用程序时(仅在特定的Activities
中)关闭软/虚拟键盘上显示“建议单词”的功能。对于默认的Android键盘,可以在“设置”下找到它(在“单词建议设置”下)。
是否有一种方法可以在您的应用程序中禁用它,而不需要用户手动执行此操作? 我基本上希望用户在输入单词时不提供任何提示。
谢谢!
我希望在使用我的应用程序时(仅在特定的Activities
中)关闭软/虚拟键盘上显示“建议单词”的功能。对于默认的Android键盘,可以在“设置”下找到它(在“单词建议设置”下)。
是否有一种方法可以在您的应用程序中禁用它,而不需要用户手动执行此操作? 我基本上希望用户在输入单词时不提供任何提示。
谢谢!
在开发2.0+版本时,通常的方法是设置 android:inputType="textNoSuggestions"
(参考)。不幸的是,在HTC Desire 2.2(可能也包括其他HTC Sense设备)上仍然会显示建议。
使用 android:inputType="textVisiblePassword"
也无济于事,因为HTC的软键盘不允许您切换语言。
所以我坚持使用 android:inputType="textFilter"
来禁用建议。
android:inputType="textNoSuggestions|textVisiblePassword"
。 - shoe您可以通过在XML中添加以下行来禁用软键盘上的建议:
android:inputType="textNoSuggestions"
然而根据这篇文章所述,它可能受IME(键盘)的支持,也可能不被支持。
如果出现此问题,以下方法肯定有效 -
android:inputType="textNoSuggestions|textVisiblePassword"
这个方法对我来说很有效,即使在安装了2.2的HTC手机上,使用原始键盘也能正常运行。
final EditText et = (EditText) findViewById(R.id.SearchText);
et.setInputType(et.getInputType()
| EditorInfo.TYPE_TEXT_FLAG_NO_SUGGESTIONS
| EditorInfo.TYPE_TEXT_VARIATION_FILTER);
在我的运行Nougat的6P上,什么都不起作用。尽管它是空的,但建议栏因为右侧有麦克风图标而保持显示。 为了摆脱这个问题,我使用了fingerup在评论中提供的建议,它起作用了! 因此,我决定写一个真正的答案,以便人们不会错过它。 总结一下,这是我所用的:
android:inputType="textNoSuggestions|textFilter|textVisiblePassword"
android:privateImeOptions="nm"
inputType="textNoSuggestions|textFilter|textVisiblePassword"
可以防止推荐内容,而privateImeOptions="nm"
(代表“无麦克风”)可以防止输入栏出现,因为它仍然会出现麦克风按钮。
因此,必须同时使用这两个属性,因为如果你只指定了没有麦克风,那么输入栏仍会显示推荐内容。
再次感谢fingerup提供的“nm技巧”。;)
我在使用三星设备时遇到了同样的问题:
android:inputType="textNoSuggestions|textFilter|textVisiblePassword"
只有将inputType设置为password并且visiblePassword工作后,才能正常使用:
android:inputType="textPassword|textVisiblePassword"
EdtiText editTextBox = findViewById(R.id.myEditTextView);
editTextBox.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
editText.setInputType(InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_FLAG_CAP_SENTENCES|InputType.TYPE_TEXT_FLAG_MULTI_LINE|InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
android:inputType="textPhonetic"
可以在 Android 1.6 上隐藏软键盘的建议。
android:inputType="textVisiblePassword"
如果在 Activity 中使用 InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS
,它会正常工作。
但如果是在 DialogFragment
中使用,则应该将 InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS
放置在以下的 onActivityCreated()
处理程序中:
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
EditText editTextUsername = (EditText)dialogView.findViewById(R.id.txtUsername);
editTextUsername.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
}