我可以在没有EditText的情况下使用软键盘吗?
我正在Android中创建一个简单的打字游戏。 我从物理键盘获取输入没有问题,但现在我试图让软键盘在没有EditText的情况下出现。 到目前为止,我已经尝试了以下内容:
1.可见性=“不可见”的EditText和这一行:
((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).showSoftInput(keyboard_edittext, InputMethodManager.SHOW_FORCED); // SHOW_IMPLICIT also failed
  2. onCreate()中的这一行: 
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
这种方法实际上在屏幕的底部10%显示了一个空的白色框,但不是键盘,尽管现在我运行它时什么都不做。
  3. onCreate()中的另外两行: 
InputMethodManager m = (InputMethodManager)this.getSystemService (Context.INPUT_METHOD_SERVICE); m.toggleSoftInput(0, InputMethodManager.SHOW_IMPLICIT);
  没有运气在任何这些。  是否可以显示软键盘(然后使用onKeyUp / onKeyDown )而不关注EditText? 
现在,我能看到的唯一方法就是创建我自己的软键盘实现(即从头构建)。 不期待那!
以下代码适用于我:
 InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
 imm.toggleSoftInput (InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);
当我按下“菜单”按钮时,我在onKeyUp处理程序中使用此代码。
  您可以在EditText上设置android:alpha="0" ,而不是使用visibility="invisible" 。  所以你仍然需要一个EditText,但它是不可见的,你可以通过onKeyListener()来获得softkeyboard的输入。 
您可以使用以下方式强制显示Softkeyboard:
InputMethodManager im = (InputMethodManager)getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
im.showSoftInput(myView, InputMethodManager.SHOW_FORCED);
                        链接地址: http://www.djcxy.com/p/93377.html
                        上一篇: Can I use the soft keyboard without an EditText?
下一篇: How can I set the focus (and display the keyboard) on my EditText programmatically
