用代码自动打开和关闭软键盘网上有许多方案和写法,很多完全没有效果。
下面是我验证过的靠谱的方案:
打开:
需要在activity初始化后延时500ms再调用
InputMethodManager inputManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
inputManager.showSoftInput(EditText, 0);
关闭:
需要在activity关闭前调用,并延时200ms再finish()
View view = getWindow().peekDecorView();
if (view != null) {
InputMethodManager inputmanger = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
inputmanger.hideSoftInputFromWindow(view.getWindowToken(), 0);
}