Android InputMethod(输入法)

  1. 基于窗体打开输入法
  /**
   * 基于窗体打开输入法
   */
  @OnClick(R.id.btn_open_window) public void onOpenWindow(){
    InputMethodManager inputMethodManager =
        (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
    inputMethodManager.showSoftInput(getWindow().getDecorView(), InputMethodManager.SHOW_FORCED);
  }
  1. 基于窗体打开输入法
  /**
   * 基于窗体关闭输入法
   */
  @OnClick(R.id.btn_close_window) public void onCloseWindow(){
    InputMethodManager inputMethodManager =
        (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
    inputMethodManager.hideSoftInputFromWindow(getWindow().getDecorView().getWindowToken(), 0);
  }
  1. 基于窗体自动打开关闭输入法
  /**
   * 基于窗体自动打开关闭输入法
   */
  @OnClick(R.id.btn_toggle_window) public void onToggleWindow(){
    InputMethodManager inputMethodManager =
        (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
    inputMethodManager.toggleSoftInputFromWindow(getWindow().getDecorView().getWindowToken(),
        0, 0);
  }
  1. 打开或关闭输入法, 与基于窗体的区别在于它无法关闭基于窗体打开的输入法
  /**
   * 打开或关闭输入法, 与基于窗体的区别在于它无法关闭基于窗体打开的输入法
   */
  @OnClick(R.id.btn_toggle) public void onToggle(){
    InputMethodManager inputMethodManager =
        (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
    inputMethodManager.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
  }
上一篇:【Android自定义控件】支持多层嵌套RadioButton的RadioGroup


下一篇:传谷歌收紧 Android 厂商控制:力推自家应用