android键盘工具栏,android
android-如何禁用在软键盘上显示“建议”
当某人使用我的应用程序时(仅在某些Activities上),我想关闭在软/虚拟键盘上显示“建议的单词”的功能。 对于默认的Android键盘,可以在“设置”(在“字词建议设置”下)下找到。
有没有一种方法可以仅在您的应用程序中将其禁用,而无需用户手动进行操作? 我基本上希望用户在不提供任何提示的情况下键入单词。
谢谢!
Thira asked 2020-02-17T22:28:46Z
9个解决方案
62 votes
为2.0+开发时,应采用的方式是设置android:inputType="textNoSuggestions"(参考)。不幸的是,建议仍显示在HTC Desire 2.2(可能还有其他HTC Sense设备)上。
使用android:inputType="textVisiblePassword"将无济于事,因为HTC的软件键盘将不允许您切换语言。
因此,我坚持使用android:inputType="textFilter"禁用建议。
yanchenko answered 2020-02-17T22:29:09Z
24 votes
您可以通过在xml中添加以下行来禁用软键盘上的建议:
android:inputType="textNoSuggestions"
但是,根据本文,IME(键盘)可能支持也可能不支持。
如果发生此问题,请确保使用以下方法-
android:inputType="textNoSuggestions|textVisiblePassword"
Ameya Pandilwar answered 2020-02-17T22:29:38Z
13 votes
这适用于我的普通键盘,即使在HTC 2.2上也是如此
final EditText et = (EditText) findViewById(R.id.SearchText);
et.setInputType(et.getInputType()
| EditorInfo.TYPE_TEXT_FLAG_NO_SUGGESTIONS
| EditorInfo.TYPE_TEXT_VARIATION_FILTER);
Curly answered 2020-02-17T22:29:58Z
11 votes
在我的6P运行牛轧糖上,没有任何效果。 当它为空时,建议栏会停留在上面,因为它的右侧有麦克风图标。为了消除这种情况,我在其中的一条评论中使用了fingerup的建议,并且有效!所以我决定写一个实际的答案,这样人们就不会错过它。回顾一下,这是我使用的方法:
android:inputType="textNoSuggestions|textFilter|textVisiblePassword"
android:privateImeOptions="nm"
inputType="textNoSuggestions|textFilter|textVisiblePassword"禁止提出建议,而privateImeOptions="nm"(代表“无麦克风”)阻止该条出现,因为麦克风按钮仍在其中,所以它仍然会出现。因此,必须同时使用这两个属性,因为如果您所做的只是未指定麦克风,那么工具栏仍会显示建议。
Thx再次提到了nm技巧。 ;)
Francois Dermu answered 2020-02-17T22:30:28Z
6 votes
我知道有两种方法可以禁用自动完成功能。 一种方法是通过在布局xml中设置android:inputType =“ textVisiblePassword”来遍历XML。
另一种方法是通过如下代码
EdtiText editTextBox = findViewById(R.id.myEditTextView);
editTextBox.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
dlongest answered 2020-02-17T22:30:52Z
3 votes
我在使用以下设备的三星设备上遇到相同的问题:
android:inputType="textNoSuggestions|textFilter|textVisiblePassword"
仅在将输入类型设置为密码并且可见的密码对我有效后:
android:inputType="textPassword|textVisiblePassword"
Bryan Ibrahim answered 2020-02-17T22:31:16Z
1 votes
android:inputType="textPhonetic"在Android 1.6上隐藏软键盘建议。
bancer answered 2020-02-17T22:31:36Z
1 votes
希望这对您有用,
editText.setInputType(InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_FLAG_CAP_SENTENCES|InputType.TYPE_TEXT_FLAG_MULTI_LINE|InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
Harshal Benake answered 2020-02-17T22:31:56Z
0 votes
如果您在活动中使用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);
}
Shalu T D answered 2020-02-17T22:32:17Z