项目地址: https://github.com/caoweiaaa/PopupWindowDialog
PopupWindow是个很强大的控件。首先他可以自定义自己的布局,这一点我们就可以根据自己的想法随意的设置自己的布局,然后创建PopupWindow的时候,我们可以设置它的宽高,显示的时候还没能设置它的显示位置,因此它几乎何以完成所有的弹出Dialog的需求。今天就举几个小例子,其他风格思想都是一样
效果:
控制Gravity可以控制pop的位置 ll_main是本界面的最外层布局
pop1.showAtLocation(ll_main, Gravity.BOTTOM, 0, 0);
pop2.showAtLocation(ll_main, Gravity.CENTER, 0, 0);
pop3.showAsDropDown(btn_pop3);
创建pop的时候控制它自己的宽和高
new PopupWindow(view, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT, true);
new PopupWindow(view, screenWidth * 4 / 5, ViewGroup.LayoutParams.WRAP_CONTENT, true);
new PopupWindow(popupWindowView, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT, true);