android 自定义弹出框被系统底部虚拟键盘挡住、Pad上点击空白区域弹出框不dismiss BUG解决

最近写项目的时候碰到两个关于自定义弹出框的BUG,第一个是点击控件弹出弹出框的时候发现弹出框被系统自带的虚拟键盘给遮挡住了,解决方法:
//防止被底部虚拟键挡住
popupWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

第二个BUG是在Pad上测试的时候点击空白区域时弹出框不dismiss,即使设置了.setOutsideTouchable(true)还是不行,次方法只在phone上有效要想在Pad上奏效除了设置这个以外还需要加一个方法:

popupWindow.setOutsideTouchable(true);
//Pad上需要设置此项上一选项(点击屏幕外区域隐藏)弹出框才有效
popupWindow.setBackgroundDrawable(new BitmapDrawable());

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章