软键盘的自动打开和隐藏

项目需求,点击一个按钮,弹出对话框(对话框里面是edittext),在对话框弹出的同时软键盘也要弹出来,对话框收起的同时也需要将软键盘收起。刚刚开始为这个问题头痛了好一会,最终还是解决了。现在分享给大家吧:

 /**
  * 自动打开键盘
  * @param context
  * @param v
  */
 private static void openSoftKeybroad(final Context context,final View v)
 {
  Timer timer = new Timer();
  timer.schedule(new TimerTask()
  {
  @Override
   public void run()
   { //弹出软键盘的代码
    InputMethodManager imm = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.showSoftInput(v, InputMethodManager.RESULT_SHOWN);
    imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);
   }
  }, 300);
 }
 
 
 /**
  * 自动关闭键盘
  * @param context
  * @param v
  */
 private static void closeSoftKeybroad(Context context,View v)
 {
  InputMethodManager imm = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE);
  imm.hideSoftInputFromWindow(v.getWindowToken(), 0);//设为0,就能将软键盘自动隐藏了。
 }

很简单。不赘述了。

你可能感兴趣的:(android)