Android7.0上PopupWindow的showAsDropDown位置问题 参数无效
2017-08-02 15:23
501 查看
网上方法:
但是没有效果,其实方法是ok的,没效果是因为
初始化时设置了充满屏幕,所以后面的位移就没有了效果。
其实我们可以通过计算屏幕高度减去topView的Y值来计算pop的所需高度,达到填充慢屏幕的效果:
初始化时:
我想这就是为什么很多人对网上给出的重写showAsDropDowm()方法质疑的原因了
不过7.0以上为什么会出现这样的问题呢,这是bug吗???哎,每个版本都悄悄挖几个坑,这是难为我们这些吃老本的了。。。。
@Override 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); }
但是没有效果,其实方法是ok的,没效果是因为
new MyPopupWindow(contentView, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
初始化时设置了充满屏幕,所以后面的位移就没有了效果。
其实我们可以通过计算屏幕高度减去topView的Y值来计算pop的所需高度,达到填充慢屏幕的效果:
int[] location = new int[2]; lineSelect.getLocationOnScreen(location);//lineSelect是一个view,表示显示在她的上方 int y = location[1]; popHeight = App.instance.getSCHeight() - y;
初始化时:
mPopupWindow_job = new MyPopupWindow(contentView, ViewGroup.LayoutParams.MATCH_PARENT, popHeight);
我想这就是为什么很多人对网上给出的重写showAsDropDowm()方法质疑的原因了
不过7.0以上为什么会出现这样的问题呢,这是bug吗???哎,每个版本都悄悄挖几个坑,这是难为我们这些吃老本的了。。。。
相关文章推荐
- Android7.0上PopupWindow的showAsDropDown位置问题
- Android7.0版本 PopupWindow.showAsDropDown() 白屏无效问题
- [问题解决]Android7.0上PopupWindow的showAsDropDown位置问题
- Android7.0上PopupWindow的showAsDropDown位置问题
- android popupwindow showAsDropDown offsetx无效的问题
- PopupWindow showAtLocation和showAsDropDown参数分析
- Android7.0 7.1 popupwindow showAsDropDown 显示异常解决办法
- Android7.0 popupWindow显示位置的问题
- 解决android7.0 popwindow设置showAsDropdown不显示在控件下方的问题
- 【Android 非常基础】PopupWindow showAtLocation和showAsDropDown参数分析
- PopupWindow showAtLocation和showAsDropDown参数分析
- 【Android 非常基础】PopupWindow showAtLocation和showAsDropDown参数分析
- Android编程之PopupWindow隐藏及显示方法示例(showAtLocation,showAsDropDown)
- 解决android 7.0 popwindow的showAsDropDown没有效果问题
- 解决android7.0上某些PopuWindow显示位置不正确的问题
- Android popupWindow设置背景透明度无效问题
- PopupWindow之showAtLocation,showAsDropDown
- PopupWindow setOutsideTouchable(false)无效问题完美解决方案
- popupwindow.showAsDropDown offSetX 水平偏移没效果解决办法
- Android7.0中PopupWindow的showAsDropDown异常问题