写在前面的话:这是自己第一次写博客,也是第一次记录自己在开发中遇到的问题,文中难免有疏漏的知识点,望大家批评指正,共同进步;
在近期项目开发中,遇到了PopupWindow在Android7.0的手机上显示位置不正确的问题,当时也是在网上找了些许方案,结合自己项目中的实际应用,终于解决了这个问题,在这里记录一下自己的解决方案,希望可以帮助到有此问题的小伙伴。
在我的页面中有一个搜索框和PopupWindow,当点击搜索框软件盘弹出,之后点击PopupWindow弹出,发现PopupWindow弹出位置竟然直接顶到了上面,如下图
在网上找了大神们的各种方案,在这里我顺便把几种解决方案都贴出来,方便查看:
第一种:
if(Build.VERSION.SDK_INT == 24) {
Rect rect = new Rect();
anchor.getGlobalVisibleRect(rect);
int h = anchor.getResources().getDisplayMetrics().heightPixels - rect.bottom;
setHeight(h);
mPopupWindow.showAsDropDown(view, 0, 0);
}
这种方法在软键盘不弹出的情况下是好用