Dialog中弹出PopupWindow

本文介绍了解决Android Dialog中PopupWindow不显示及位置不当的问题。关键在于正确设置PopupWindow尺寸,并使用Handler延迟显示以确保其位于Dialog之上。
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(vGravity.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());
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值