【发布时间】:2012-08-17 14:00:30
【问题描述】:
我有一个 GLSurfaceView 来渲染我的 GUI。在一种情况下,我需要用户输入一个数字,为了实现这一点,我使用了一个 FrameLayout,我的 GLSurfaceView 在上面,另一个虚拟布局后面有一个 EditText。当需要输入时,我聚焦 EditText 并强制显示软键盘。然后我会听各种方式来结束输入,回车键、IME_ACTION_DONE、后退键等。
但是我刚刚意识到这不起作用的一种情况。在某些键盘上,有一个“隐藏键盘”按钮根本不发送键码(有些会从该键发送回键码)。键盘刚刚关闭,我无法确定输入是否完成。并且 EditText 仍然是焦点。
有什么方法可以捕捉到这个事件,或者有什么其他方法可以查看用户是否关闭了键盘?
【问题讨论】:
-
我想你可以检查一下你的视图的 onSizeChanged()。
-
视图是一个 GLSurfaceView,它不会也不应该改变大小。软键盘仅出现在视图顶部。我是否应该尝试检查 onSizeChanged ..?
-
我的建议是基于this answer。但我对
GLSurfaceView没有经验。试一试也无妨。
标签: android opengl-es input android-softkeyboard glsurfaceview