Dialog中弹出PopupWindow
1、PopupWindow不显示;
2、PopupWindow不能显示在Dialog的上方。
解决的方法:
PopupWindow popupWindow = new PopupWindow(view , (int) (128*LPUtils.density), (int) (25*LPUtils.density));
必须指定PopupWindow的长度和宽度才可以显示出。
PopupWindow是一个阻塞线程的一个view,当Dialog刚进入的时候,如果弹出PopupWindow,此时的线程就会被阻塞。如果此时你通过
popupWindow.showAtLocation(v, Gravity.NO_GRAVITY,
x,y);
来放置PopupWindow的位置,是不会显示在Dialog的上方。
注意:
这里说的是进入Dialog就显示PopupWindow ,点击V显示PopupWindow除外。
解决方法:
通过Handler来处理:
handler.sendEmptyMessageDelayed(0x222 , 200);通过延迟的方式,让UI线程先完成。
之后再处理显示PopupWindow
if (msg.what == 0x222) {
showPopupWindow(img_scan ,passengerEntity_.getPreviewReco_tips());
}
showPopupWindow(img_scan ,passengerEntity_.getPreviewReco_tips());
}