2011-05-11 105 views
0

我有一个OpenGL应用程序需要显示软键盘的设备没有物理的用户输入,如用户名或数字在一些情况下。在数字输入的情况下,是否有任何方法显示数字键盘而不是字母键盘?我没有使用任何文本编辑字段或任何东西,只是InputMethodManager如何显示没有输入栏的软数字小键盘?

((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).showSoftInput(glView, InputMethodManager.SHOW_FORCED); 

我发现的唯一方法,看起来远程帮助别人是InputMethodManager.setInputMethod但这需要一个IBinder令牌和String ID,这两者都不在the documentation中解释得非常好。不过,我觉得这不是正确的路要走。

如果我使用的是编辑字段,它会很简单明显,我已经找到了几十个答案,但这不是我所做的,因为它是一个OpenGL游戏,所以我只需要如上所述手动显示键盘。

回答

0

可能不是您正在寻找的答案,因为它比真正的解决方案更像是黑客攻击,但是有几件事可能会奏效(即如果您无法获得真正的解决方案)。

一个EditTextView.INVISIBLE集合。虽然,您可能无法在此处设定焦点。

将一个EditText放在GLSurfaceView的后面并将其聚焦。所以它从技术上看是可见的(从代码的角度来看),但用户不可见。