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());

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