如何禁用在软键盘上显示"建议"

Thi*_*ira 49 android

我想在有人使用我的应用程序时(仅在某些情况下Activities)关闭在软/虚拟键盘上显示"推荐的单词" .对于默认的Android键盘,可以在"设置"下找到(在"词建议设置"下).

有没有办法只在你的应用程序中禁用它,而不需要用户手动去做呢?我基本上希望用户输入单词而不提供任何提示.

谢谢!

yan*_*nko 63

当开发2.0+时,假设的方式是设置android:inputType="textNoSuggestions"(ref).不幸的是,HTC Desire 2.2(以及可能还有其他HTC Sense设备)仍然显示了建议.
使用android:inputType="textVisiblePassword"无助于HTC的软件键盘将不允许您切换语言.
所以我坚持android:inputType="textFilter"禁用建议.

  • "textVisiblePassword"禁用表情符号,我无法使用它.我已经删除了android的建议:inputType ="textNoSuggestions"和android:privateImeOptions ="nm"(nm:No Micro) (3认同)

Ame*_*war 26

您可以通过在xml中添加以下行来禁用软键盘上的建议 -

android:inputType="textNoSuggestions"
Run Code Online (Sandbox Code Playgroud)

但是根据这篇文章,IME(键盘)可能支持也可能不支持.

如果出现此问题,以下方法肯定 -

android:inputType="textNoSuggestions|textVisiblePassword"
Run Code Online (Sandbox Code Playgroud)


Cur*_*rly 13

这适用于我的股票键盘,即使在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);
Run Code Online (Sandbox Code Playgroud)

  • 我想补充一下我遇到的皱纹.将这些标志与现有inputType进行或运算可能不起作用.在我的情况下,在运行4.04的三星Galaxy SIII上,现有的inputType在充气时是EditorInfo.TYPE_CLASS_TEXT.或者添加其他标志并不能阻止这些建议.但是,如果我将inputType设置为EditorInfo.TYPE_TEXT_FLAG_NO_SUGGESTIONS,那么成功阻止了建议:et.setInputType(EditorInfo.TYPE_TEXT_FLAG_NO_SUGGESTIONS); 希望这可以帮助. (2认同)

Fra*_*rmu 11

在我的6P跑Nougat上,没有任何效果.当它为空时,建议栏会保持不变,因为右侧有麦克风图标.为了摆脱这种情况,我在其中一条评论中使用了fingerup的建议并且它有效!所以我决定写一个实际的答案,所以人们不要错过它.回顾一下我用过的东西:

    android:inputType="textNoSuggestions|textFilter|textVisiblePassword"
    android:privateImeOptions="nm"
Run Code Online (Sandbox Code Playgroud)

inputType="textNoSuggestions|textFilter|textVisiblePassword"防止建议,privateImeOptions="nm"(代表"没有麦克风")阻止栏显示,因为它仍然会自麦克风按钮进入.所以有必要使用这两个属性,因为如果你所做的只是指定没有麦克风,那么该栏仍然会显示建议.
再次提到nm技巧的指责.;)


小智 6

我知道有两种方法可以禁用自动完成功能.一种方法是通过在布局xml中设置android:inputType ="textVisiblePassword"来通过XML.

另一种方式是通过以下代码

EdtiText editTextBox = findViewById(R.id.myEditTextView);
editTextBox.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
Run Code Online (Sandbox Code Playgroud)

  • 您无法像这样禁用密码字段的建议.最好使用EditorInfo.TYPE_TEXT_FLAG_NO_SUGGESTIONS (4认同)

Ous*_*ush 6

我在使用以下设备的三星设备上遇到了同样的问题:

android:inputType="textNoSuggestions|textFilter|textVisiblePassword"
Run Code Online (Sandbox Code Playgroud)

只有在将 inputType 设置为 password 和 visiblePassword 后才对我有用:

android:inputType="textPassword|textVisiblePassword"
Run Code Online (Sandbox Code Playgroud)