最近在写公司项目的时候使用popupwindow进行条件筛选,还是像以前一样直接使用popupwindow.showAsDropDown(view)方法进行设置popupwindow的显示位置,结果popupwindow没有显示在view下面,而是铺满了整个屏幕。
然后经过多次更换手机调试效果,反应出来的是7.0以前的版本使用popupwindow.showAsDropDown(view)显示没有问题,7.0以后的都会铺满整个屏幕(如图)。
然后使用另一个方法popupwindow.showAtLocation(parent,gavity,x,y),结果y方向的偏移量上出现了问题,同样的高度,有的手机刚刚好,有的手机却偏移的太多,如图:
在网上查看发现是应为popupwindow的高度太高导致的铺满屏幕,那么就要在显示popupwindow的时候重新设置其高度就没有问题了,解决办法如下:
重写popupwindow的showAsDropDown方法即可