先上效果图,
中间是一个PopupWindow,旁边为灰色背景.
首先创建一个PopupWindow的子类,初始化控件,并设置如下属性:
this.setContentView(mView);
this.setWidth(ViewGroup.LayoutParams.MATCH_PARENT);
this.setHeight(ViewGroup.LayoutParams.MATCH_PARENT);
this.setFocusable(true);
/**设置动画*/
this.setAnimationStyle(R.style.PopupEnrollAnimation);
/**背景阴影*/
ColorDrawable dw = new ColorDrawable(0x80000000);
this.setBackgroundDrawable(dw);
在这需要注意的是,一定要设置背景阴影.
然后创建这个类的子类,并调用showAtLocation()方法.然而,并没有阴影.
问题出在哪里呢.
在popupwindow的布局文件里,最外层再嵌套一个RelativeLayout