有个小游戏:“按两下向右键为人机对战,向左键人-人对战”。在模拟器上自然可以,因为它是全键盘。可版本装到实体机上(ME525/Defy)上,发现找不到所谓的“左键、右键”了。虚拟键盘也没看到从哪出来。这如何改进呢?

解决方案 »

  1.   


    可以,请参考以下代码:
    final InputMethodManager imm = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
                Timer timer = new Timer();
                timer.schedule(new TimerTask() {
                  @Override
                  public void run() {                imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
                    imm.showSoftInput(aChangeNameView, InputMethodManager.SHOW_FORCED);
                  }
                }, 1000);
      

  2.   

    建议楼主 你可以做一个假的按钮  现实在屏幕上 不要用系统的按钮  android手机 各种各样的太多了 还是不要在系统按钮上下文章!
      

  3.   

    用以下的方法可以弹出虚拟键盘了。有一点不明白,INPUT_METHOD_SERVICE不能代替"input_method"来用,这是为什么?private void popVirtualKeyboard() {
    //INPUT_METHOD_SERVICE
    final InputMethodManager imm = (InputMethodManager)getContext().getSystemService("input_method");
    Timer timer = new Timer();
    timer.schedule(new TimerTask() {
    @Override
    public void run() {
    imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
    imm.showSoftInput(getRootView(), InputMethodManager.SHOW_FORCED);
    }
    }, 1000);
    }
      

  4.   

    final InputMethodManager imm = (InputMethodManager)getContext().getSystemService("input_method");input_method换成Context.INPUT_METHOD_SERVICE不一样吗