如何禁用在软键盘上显示“build议”
当有人正在使用我的应用程序时(仅在某些Activities
),我想closures在软键盘/虚拟键盘上显示的“build议词语”。 对于默认的Android键盘,可以在“设置”下find(在Wordbuild议设置下)。
有没有办法只在你的应用程序中禁用它,而不需要用户手动去做呢? 我基本上希望用户input单词而不提供任何提示。
谢谢!
当开发2.0 +时,应该是设置android:inputType="textNoSuggestions"
( ref )。 不幸的是,在HTC Desire 2.2(也可能是其他HTC Sense设备)上仍然显示了一些build议。
使用android:inputType="textVisiblePassword"
不会像HTC的软件键盘那样帮你切换语言。
所以我坚持android:inputType="textFilter"
来禁用build议。
您可以通过在xml中添加以下行来禁用软键盘上的build议 –
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);
有两种方法可以禁用自动完成function。 一种方法是通过在布局xml中设置android:inputType =“textVisiblePassword”来通过XML。
另一种方式是通过如下代码
EdtiText editTextBox = findViewById(R.id.myEditTextView); editTextBox.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
在我的6P跑牛轧糖,没有任何工作。 虽然它是空的,build议栏保持不变,因为它的右侧有麦克风图标。 为了摆脱这一点,我使用了fingerup的build议在其中的一个意见,它的工作! 所以我决定写一个实际的答案,所以人们不会错过它。 总结一下我用过的东西:
android:inputType="textNoSuggestions|textFilter|textVisiblePassword" android:privateImeOptions="nm"
inputType="textNoSuggestions|textFilter|textVisiblePassword"
可以防止提示,而privateImeOptions="nm"
(代表“no microphone”)会阻止显示条,因为在麦克风button位于其中时,条仍然会显示。 所以有必要使用这两个属性,因为如果你所做的只是指定没有麦克风,那么酒吧仍然显示与build议。
Thx再次提到nm技巧。 ;)
android:inputType="textPhonetic"
隐藏Android 1.6上的软键盘build议。
希望这对你有用,
editText.setInputType(InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_FLAG_CAP_SENTENCES|InputType.TYPE_TEXT_FLAG_MULTI_LINE|InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
如果您在活动中使用了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); }