先上效果图
在 安卓 sdk 22以上 时 popwindow 提供了 mPopWindow.showAsDropDown(view, x, y,Gtrvity);
设置时相对与 某个空间 (view) 的 x,y轴偏移量, 以view左上角为原点 x,y为正时向右下偏移 ,为负时想左上偏移 最后一个和 android:gravity 用法一样
但是在低版本(4.4或更低)时,最后一个 gravity 参数时不存在于 api中的 , 如果 当前view是在右上角 就会导致显示的位置在左边
如图
修改办法
int[] location = new int[2];
this.view.getLocationOnScreen(location);
//拿到右上角哪个图片在屏幕中的位置
mPopWindow.showAsDropDown(mPanelTop, location[0], 0);
把当前位置的 x坐标 设置给 popwindow 就可以得到正确显示