Android PopupWindow的showAsDropDown位置失效的问题
程序员文章站
2022-05-31 11:45:34
...
忽然发现Android PopupWindow的showAsDropDown位置失效,据说是Android的sdk版本兼容问题,需要自己重写改方法,安卓的坑真多啊
在网上找了好多方法不管用,最后终于找到一个可以的:
贴一下解决方法,感谢
重写showAsDropDown(view)就解决了。
public class SupportPopupWindow extends PopupWindow {
public SupportPopupWindow(View contentView, int width, int height){
super(contentView,width,height);
}
[@Override](https://my.oschina.net/u/1162528)
public void showAsDropDown(View anchor) {
if(Build.VERSION.SDK_INT >= 24) {
Rect rect = new Rect();
anchor.getGlobalVisibleRect(rect);
int h = anchor.getResources().getDisplayMetrics().heightPixels - rect.bottom;
setHeight(h);
}
super.showAsDropDown(anchor);
}
[@Override](https://my.oschina.net/u/1162528)
public void showAsDropDown(View anchor, int xoff, int yoff) {
if(Build.VERSION.SDK_INT >= 24) {
Rect rect = new Rect();
anchor.getGlobalVisibleRect(rect);
int h = anchor.getResources().getDisplayMetrics().heightPixels - rect.bottom;
setHeight(h);
}
super.showAsDropDown(anchor, xoff, yoff);
}
}
作者:alwaysGoalong 来源:CSDN 原文:https://blog.csdn.net/alwaysGoalong/article/details/80455427
转载于:https://my.oschina.net/u/2606060/blog/3083356
推荐阅读
-
解决SpannableString在Android组件间传递时显示失效的问题
-
Android编程中PopupWindow的用法分析【位置、动画、焦点】
-
Android7.0上某些PopuWindow出现显示位置不正确问题的解决方法
-
Android定时器实现的几种方式整理及removeCallbacks失效问题解决
-
Android7.0上某些PopuWindow出现显示位置不正确问题的解决方法
-
Android定时器实现的几种方式整理及removeCallbacks失效问题解决
-
解决android Listview的item中最外层Margin失效的问题
-
解决SpannableString在Android组件间传递时显示失效的问题
-
解决Android popupWindow设置背景透明度无效的问题
-
解决popupWindow 的android.view.WindowManager$BadTokenException问题