以编程方式禁用 Gboard 上的自动建议

Posted

技术标签:

【中文标题】以编程方式禁用 Gboard 上的自动建议【英文标题】:Programmatically disable auto-suggestions on Gboard 【发布时间】:2018-01-09 18:54:51 【问题描述】:

我正在尝试使用InputType TYPE_TEXT_FLAG_NO_SUGGESTIONS 以编程方式禁用带有setInputType() 的建议。

虽然这适用于大多数键盘,但在使用“Gboard”键盘时不起作用;即使使用这种输入类型,也总是会出现建议。问题是用户可以选择是否要对输入字段提出建议,而不管 EditText 指定的输入类型。

如何禁止所有键盘(包括 Gboard)的建议?

【问题讨论】:

【参考方案1】:

我找到了解决办法:

view.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);

但是,您可以看到带建议的输入和不带建议的输入之间的字体差异。

【讨论】:

这种方法的另一个问题是数字栏出现在字符上方。 删除 InputType.TYPE_CLASS_TEXT 为我解决了字体问题 很遗憾,TYPE_TEXT_VARIATION_VISIBLE_PASSWORD 表示用户无法切换到非 qwerty 键盘【参考方案2】:
<EditText
                android:id="@+id/inputISD_Code"
                android:layout_
                android:layout_
                android:layout_marginLeft="@dimen/dimen20"
                android:layout_weight="20"
                android:background="@null"
                android:fontFamily="sans-serif-light"
                android:hint="@string/code"
                android:inputType="text|textNoSuggestions"
                android:maxLength="10"
                android:textColor="@color/black"
                android:textCursorDrawable="@null"
                android:textSize="18dp" />

【讨论】:

这并不能解决问题。确实,里面提到了这里提供的inputType

以上是关于以编程方式禁用 Gboard 上的自动建议的主要内容,如果未能解决你的问题,请参考以下文章

iOS swift以编程方式禁用wifi自动加入选项

iOS 在 UIWebBrowserView 上以编程方式禁用 Quicktype 键盘

如何以编程方式启用自动启动和浮动窗口权限

使用 UI 自动化以编程方式打开/关闭真实 iOS 设备上的 wifi

以编程方式启用Windows Phone 7应用程序中的禁用复选框

自动布局 - 以编程方式定义异常约束