如何禁用 EditText 中的 SwiftKey(第三方键盘)行为?
Posted
技术标签:
【中文标题】如何禁用 EditText 中的 SwiftKey(第三方键盘)行为?【英文标题】:How to disable the SwiftKey (third-party keyboard) behavior in EditText? 【发布时间】:2018-01-29 10:33:24 【问题描述】:我在我的 android 应用程序中使用标准的 EditText 控件。 此 EditText 的输入只能从应用程序的内置键盘插入。
当设备上安装SwiftKey(第三方键盘应用程序)时,会导致光标跳动等奇怪行为,并在某些文本下方加下划线。
我的问题是,如何避免在 EditText 控件中出现任何第三方键盘效果。
【问题讨论】:
【参考方案1】:在 EditText.InputType 上使用 TYPE_TEXT_FLAG_NO_SUGGESTIONS 标志解决了这个问题。
【讨论】:
嗨@Ben,我在我的应用程序中使用它,但我仍然可以在我的应用程序中使用 swiftkey。【参考方案2】:我的问题是,如何避免在 EditText 控件中出现任何第三方键盘效果。
你不能。输入法编辑器(“键盘应用程序”)的选择取决于用户,而不是您。 AFAIK,有些设备默认使用 SwiftKey。
【讨论】:
但我注意到我设备上的其他应用程序不受 SwiftKey 的影响(我假设它们使用相同的 EditText)。我会注意到 EditText 的输入不是通过系统的键盘输入的,所以我正在寻找一种方法来静音第三方键盘效果(如自动更正、跳跃的光标和不需要的下划线)。 @Ben:“但我注意到我设备上的其他应用程序不受 SwiftKey 影响”——那么也许你对你的EditText
做了一些奇怪的事情,而这些应用程序没有。数以百万计的人在数以千计的应用程序中使用 SwiftKey。如果您描述的问题很常见,SwiftKey 很可能会发现问题并修复它。问题更有可能是针对您的具体情况。 “所以我正在寻找一种方法来使第三方键盘效果静音”——这通常是不可能的,尤其是在数百种不同的第三方键盘中。
好的,谢谢。您知道不受系统键盘影响的 EditText 的替代组件吗?
@Ben:Android 中唯一的文本输入组件是EditText
(加上继承自EditText
的东西)。您可以考虑在提供minimal reproducible example 的地方提出单独的 Stack Overflow 问题。这将包括您的布局和与此 EditText
关联的 Java 代码,以及对您的症状的详细解释,希望有人可以提出一些可能有帮助的设置。但是,不能保证这些设置可以解决所有键盘实现中的任何问题。
好的,非常感谢您的解释。如果有人想添加任何内容,我将保持此线程开放一段时间。以上是关于如何禁用 EditText 中的 SwiftKey(第三方键盘)行为?的主要内容,如果未能解决你的问题,请参考以下文章