【发布时间】:2015-03-07 18:29:03
【问题描述】:
在我从事的当前全屏基于 opengl 的项目中,我有一些基于 GL 的图形元素,特别是文本输入字段。为了在此元素获得焦点时输入文本,我显示了软键盘(看起来很好)。
在 5.0 之前的 android 版本上,Google 键盘工作正常,可以发送与硬件键盘类似的按键事件。在 android Lollipop 上,Swiftkey 或免费的 Hacker 键盘等其他键盘仍在工作,但 Google 键盘不再可用。
当在 Lollipop 上的 Google 键盘上按下某个键时,键盘本身上不会出现任何视觉反馈,我的应用程序会接收到触摸事件,就好像键盘没有显示(但确实如此)一样。不过,“硬件”后退键可以正常工作。
应用中使用的视图是 SurfaceView(不是 TextView)。我已经覆盖了onCheckIsTextEditor,并从onCreateInputConnection 返回了一个特定的InputConnection,我将inputType 设置为TYPE_NULL。
请注意,onCreateInputConnection 似乎没有被调用。
此应用编译时兼容 android 级别 15。
知道什么会阻止键盘接受触摸事件吗? 我应该如何调试触摸事件流?
【问题讨论】:
标签: android input opengl-es keyboard