PopupWindow展示在下方,并且与水平对齐

  1. 创建PopupWindow
    PopupWindow popupWindow = new PopupWindow(popupWindow, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)
  2. 测量popupWindow的宽度,因为popupWindow使用的是WRAP_CONTNET的方式创建的。所以测量之前需要执行以下方法
    popupWindow.getContentView().measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
  3. 设置popupWindow的相关属性方法
            popupWindow.setBackgroundDrawable(new ColorDrawable());
            popupWindow.setOutsideTouchable(true);
            popupWindow.setFocusable(true);
  1. 计算偏移量,我们要偏移到控件的正中间的位置,所以需要计算x轴的偏移量
    int xPos = view.getWidth() / 2 - popupWindow.getContentView().getMeasuredWidth() / 2;
  2. 显示在控件的下方
    popupWindow.showAsDropDown(v, xPos, 3);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容