1. 问题: 当有输入法框存在的时候,点击弹出PopupWindow浮动下拉框,这时会出现pop往上弹出,感觉就像被挤压上去了!
2.解决问题
由于是当输入法框存在时才产生这个问题,输入法框不存在时不存在这个问题
1.在点击弹出pop时,写个强制关闭输入法的方法。
1.我当时写了这个方法后还是不能解决这个问题,但是肯定是输入法框存在导致的问题,难道是我直接 执行了关闭输入法的方法,弹出pop 时间上有问题
2.为了验证这个,我写了一个延迟弹出pop的handler。结果成功了! 可能原因是 当你执行 关闭输入法的时候 ,输入法还没有关闭完成,pop就弹出来了!(猜测)
2.代码
1. 关闭输入法
/**
* 强制隐藏输入法键盘
*/
public static void hideInput(Context context, View view,Handler handler){
InputMethodManager inputMethodManager =
(InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE);
//判断输入法键盘是否打开,打开就延迟,反之不延迟
if (inputMethodManager.isActive()){
inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0);
handler.sendEmptyMessageDelayed(400,200);
}else{
handler.sendEmptyMessage(400);
}
}
2.然后到你的handler 里面 执行弹出pop吧