开局一张图,剩下全靠x。
popupwindow相信大家在项目中都遇到过,但有几个点我想跟大家分享一下,
- popupwindow阴影背景的显示和消失
- popupwindow的显示位置的调整
- popupwindow的显示和隐藏动画
针对阴影背景我也是从网上找的解决方案,粘出代码,直接拿来用,
private void setWindowBg(float bgAlpha) {
WindowManager.LayoutParams lp = getWindow()
.getAttributes();
lp.alpha = bgAlpha;
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
getWindow().setAttributes(lp);
}
显示popupwindow:
// 调用此方法,并传递参数(0f~1f 完全不透明到完全透明)产生背景变暗效果
setWindowBg(0.4f);
showAsDropDown(popWindow, ivRight, -xOffset, yOffset);