自动打开关闭手机键盘


可以使用下面的方法

/**
    * 自动弹软键盘
    *
    * @param context
    * @param et
    */
   public static void showSoftInput(final Context context, final EditText et) {
       new Timer().schedule(new TimerTask() {
           @Override
           public void run() {
               ((Activity) context).runOnUiThread(new Runnable() {
                   @Override
                   public void run() {
                       et.setFocusable(true);
                       et.setFocusableInTouchMode(true);
                       //请求获得焦点
                       et.requestFocus();
                       //调用系统输入法
                       InputMethodManager inputManager = (InputMethodManager) et
                               .getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
                       inputManager.showSoftInput(et, 0);
                   }
               });
           }
       }, 200);
   }

   /**
    * 自动关闭软键盘
    * @param activity
    */
   public static void closeKeybord(Activity activity) {
       InputMethodManager imm =  (InputMethodManager)activity.getSystemService(Context.INPUT_METHOD_SERVICE);
       if(imm != null) {
           imm.hideSoftInputFromWindow(activity.getWindow().getDecorView().getWindowToken(), 0);
       }
   }

   /**
    * 打开关闭相互切换
    * @param activity
    */
   public static void hideKeyboard(Activity activity) {
       InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
       if (imm.isActive()) {
           if (activity.getCurrentFocus().getWindowToken() != null) {
               imm.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
           }
       }
   }

文章作者: 小游
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 小游 !
  目录