如何在EditText中禁用SwiftKey(第三方键盘)的行为?

3
我在我的Android应用程序中使用标准的EditText控件。 这个EditText的输入应该只能从应用程序内置的键盘中插入。
当设备上安装了第三方键盘应用程序SwiftKey时,它会导致一些奇怪的行为,如跳动的光标和下划线下面的一些文本。
我的问题是,我如何避免在EditText控件中受到任何第三方键盘的影响。
2个回答

1
在EditText.InputType上使用TYPE_TEXT_FLAG_NO_SUGGESTIONS标志解决了该问题。

嗨@Ben,我正在我的应用程序中使用这个,但我仍然可以在我的应用程序中使用swiftkey。 - fahad_sust

0
我的问题是,如何避免在EditText控件中出现任何第三方键盘效果。
你不能。输入法编辑器(“键盘应用程序”)的选择取决于用户,而不是你。据我所知,有些设备默认情况下使用SwiftKey。

但是我注意到我的设备上的其他应用程序并不受SwiftKey的影响(我假设它们使用相同的EditText)。我会注意到EditText的输入不通过系统键盘输入,所以我正在寻找一种方法来消除第三方键盘的影响(如自动更正、跳跃光标和不必要的下划线)。 - Ben
@Ben:“但我注意到我的设备上的其他应用程序没有受到SwiftKey的影响”--那么也许您在使用EditText时做了一些奇怪的事情,而这些应用程序没有这样做。 SwiftKey被数以百万计的人在数千个应用程序中使用。如果您所描述的问题很常见,最有可能SwiftKey已经发现了这个问题并进行了修复。更有可能的是,问题更具体地针对您的情况。“所以我正在寻找一种方法来消除第三方键盘的影响”--总的来说,这在一般情况下是不可能的,特别是在数百种不同的第三方键盘中。 - CommonsWare
好的,谢谢。你知道一个替代EditText的组件,它不受系统键盘的影响吗? - Ben
@Ben:Android中唯一的文本输入组件是EditText(以及从EditText继承的其他组件)。您可以考虑提出一个单独的Stack Overflow问题,其中包括与此EditText相关的布局和Java代码,以及对您的症状的详细解释,希望有人可以建议一些可能有所帮助的设置。但是并不能保证这些设置可以解决所有键盘实现的问题。 - CommonsWare
好的,非常感谢您的解释。如果有人想要添加任何内容,我将保持这个帖子的开放状态一段时间。 - Ben
我发现使用InputType中的TYPE_TEXT_FLAG_NO_SUGGESTIONS解决了这个问题。我会测试一下并稍后更新。 - Ben

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接