有的时候当我们使用popwindow时将当前的activity当做View传给其他fragment使用时会导致我们设置背景变暗效果失效,导致这个原因的问题是因为我们传view后当弹出popupwindw的时候已经不再当前的activity了,所以会显示无效
因此在设置的时候我们这样处理:
public void backgroundAlpha(float bgAlpha)
{
//MApp.getInstance().getMainActivity()就是你想要点击时要显示的主activity
WindowManager.LayoutParams lp = ActivityB.getInstance().getMainActivity().getWindow().getAttributes();
lp.alpha = bgAlpha; //0.0-1.0
ActivityB.getInstance().getMainActivity().getWindow().setAttributes(lp);
ActivityB.getInstance().getMainActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
}
即activity A作为View在B中显示,那么A中的设置透明度时getwindow要从B取,也就是B.getwindow();