public static void showKeyboard(Activity mActivity, boolean isShow, EditText mEditText) {
InputMethodManager mInputMethodManager = (InputMethodManager) Application.getInstance().getSystemService(Context.INPUT_METHOD_SERVICE);
if (null == mInputMethodManager)
return;
if (isShow) {
if (!mInputMethodManager.isActive()) {
if ((null != mActivity && mActivity.getCurrentFocus() != null) || null != mEditText) {
//有焦点打开
if (null != mEditText)
mEditText.requestFocus();
mInputMethodManager.showSoftInput(null != mEditText ? mEditText : mActivity.getCurrentFocus(), 0);
} else {
//无焦点打开
mInputMethodManager.toggleSoftInput(0, 0);
}
}
} else {
if (mInputMethodManager.isActive()) {
if ((null != mActivity && mActivity.getCurrentFocus() != null) || null != mEditText) {
//有焦点关闭
if (null != mEditText)
mEditText.clearFocus();
mInputMethodManager.hideSoftInputFromWindow(null != mEditText ? mEditText.getWindowToken() : mActivity.getCurrentFocus().getWindowToken(), 0);
} else {
//无焦点关闭
mInputMethodManager.toggleSoftInput(0, 0);
}
}
}
}
Android 最有效的管理软键盘开启、关闭
于 2018-01-29 16:05:32 首次发布