场景:当在activityB弹出软键盘后,此时按返回键要关闭软键盘并返回activityA,发现软键盘关闭后会软键盘那块会出现空白后再回到activityA
解决办法:
1.点返回后 先在activityB界面判断当前软键盘是否弹出,这里根据整个布局的高度来判断软键盘是否弹出,用系统的方法InputMethodManagere.isActivte()有时无效。
2.如果有软键盘弹出,则在activityA的onResume()增加如下代码
if(ConfigInfo.isActivt()) { //这里是自己写的方法,保存软键盘是否弹出的boolean值
handler.post(new Runnable() {
@Override
public void run() {
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.toggleSoftInput(InputMethodManager.SHOW_IMPLICIT, InputMethodManager.HIDE_NOT_ALWAYS);
ConfigInfo.setIsactive(false);//关闭软键盘后记得要把软键盘是否弹出的boolean值设为
}
});
}
这样效果就灰常棒了。。
来源:CSDN
作者:amogin
链接:https://blog.csdn.net/amogin/article/details/72283446