- 創(chuàng)建PopupWindow
PopupWindow popupWindow = new PopupWindow(popupWindow, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)
- 測(cè)量popupWindow的寬度蔼水,因?yàn)閜opupWindow使用的是WRAP_CONTNET的方式創(chuàng)建的。所以測(cè)量之前需要執(zhí)行以下方法
popupWindow.getContentView().measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
- 設(shè)置popupWindow的相關(guān)屬性方法
popupWindow.setBackgroundDrawable(new ColorDrawable());
popupWindow.setOutsideTouchable(true);
popupWindow.setFocusable(true);
- 計(jì)算偏移量录肯,我們要偏移到控件的正中間的位置趴腋,所以需要計(jì)算x軸的偏移量
int xPos = view.getWidth() / 2 - popupWindow.getContentView().getMeasuredWidth() / 2;
- 顯示在控件的下方
popupWindow.showAsDropDown(v, xPos, 3);