我有一个OpenGL应用程序需要为没有物理设备的设备显示软键盘,用于用户输入,例如用户名或数字等。在数字输入的情况下,有没有办法显示数字键盘而不是字母键盘?我没有使用任何文字编辑字段或任何内容,只有InputMethodManager
:
((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).showSoftInput(glView, InputMethodManager.SHOW_FORCED);
我发现看起来远程有用的唯一方法是InputMethodManager.setInputMethod
,但这需要一个IBinder
令牌和一个String
ID,这两种方法在{{3}中都没有得到很好的解释}}。但我觉得这不是正确的方法。
如果我使用编辑字段,它会很简单明了,我已经找到了几十个答案,但这不是我正在做的,因为它是一个OpenGL游戏,所以我只需要显示如上所述手动键盘。
答案 0 :(得分:0)
可能不是你正在寻找的答案,因为它更像是一个黑客而不是一个真正的解决方案,但是有些事情会浮现在脑海中(也就是说你无法获得真正的解决方案)。
设置EditText
的{{1}}。虽然,您可能无法在此处设置焦点。
将EditText放在View.INVISIBLE
后面并将其集中。所以它在技术上是可见的(从代码的角度来看)但对用户来说是不可见的。