显示输入法
public static void showSoftInput(final Activity activity) {
InputMethodManager imm =
(InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE);
if (imm == null) return;
View view = activity.getCurrentFocus();
if (view == null) view = new View(activity);
imm.showSoftInput(view, InputMethodManager.SHOW_FORCED);
}
显示输入法
public static void showSoftInput(final View view) {
InputMethodManager imm =
(InputMethodManager) Utils.getApp().getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm == null) return;
view.setFocusable(true);
view.setFocusableInTouchMode(true);
view.requestFocus();
imm.showSoftInput(view, InputMethodManager.SHOW_FORCED);
}
隐藏输入法
public static void hideSoftInput(final Activity activity) {
InputMethodManager imm =
(InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE);
if (imm == null) return;
View view = activity.getCurrentFocus();
if (view == null) view = new View(activity);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
隐藏输入法
public static void hideSoftInput(final View view) {
InputMethodManager imm =
(InputMethodManager) Utils.getApp().getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm == null) return;
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
点击空白区域,隐藏输入法
在BaseActivity中,重写onTouchEvent
public boolean onTouchEvent(MotionEvent event) {
if(null != this.getCurrentFocus()){
InputMethodManager mInputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
return mInputMethodManager.hideSoftInputFromWindow(this.getCurrentFocus().getWindowToken(), 0);
}
return super .onTouchEvent(event);
}