在三星Galaxy S10上,运行Android 10(这在Android 9中不是键盘的问题)时,当(默认)预测文本打开时,按键事件不再触发。
一些其他应用程序,如Termux( termux/termux-app#686 )报告说,单词出现在空格/回车等之后-然而,gomobile并不是这样。每次应该显示一个“未知键码”事件时,都会触发一个字符。
您正在使用的Go版本是什么( go version
)?
1.12, 1.13, 1.14
这个问题在最新版本的发布中是否会重现?
是的
您正在使用什么操作系统和处理器架构( go env
)?
我认为Android手机上的环境最相关,但我不知道要提供什么。
旧键盘上的代码运行正常,或者如果您关闭预测文本
您做了什么?
- 在Galaxy S10上运行带有Android 10的gomobile应用程序,导致出现键盘(我使用了fyne_demo应用程序)。
- 输入“hello ”(以空格结尾),并查看是否只添加了一个空格到条目中。
- 输入“g”,您将看到“g”后面跟着一个空格。
您期望看到什么?
我希望看到输入字符时显示字符。有各种关于如何禁用预测的文档(例如https://developer.android.com/reference/android/text/InputType#TYPE_NULL),但我无法弄清楚如何在默认的gomobile应用程序中设置这些选项,因为在GoNativeActivity.java中似乎无法配置根视图。
您看到了什么?
(如上所述)
4条答案
按热度按时间cwdobuhd1#
我成功地通过使用隐藏的EditText并设置输入类型来强制禁用预测功能:
textEdit.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
然而,在输入时,这不会生成任何按键事件。
6rqinv9w2#
我所取得的唯一进展是使用EditText解决方法,将一个打包到视图层次结构中,然后你可以添加一个更改观察者:
不幸的是,我无法弄清楚如何逆向工程关键事件,它正在报告当前状态。但这是一个开始...
a7qyws3x3#
我遵循了一段时间的这种思路,但后来意识到普通的键盘会收到双击事件,因为它们也会接收按键。
这感觉像是一个非常复杂的情况。有Maven有什么想法吗?:)
rdrgkggo4#
@hyangah