1 /**
2 * 创建PopupWindow
3 */
4 protected void initPopuptWindow() {
5 WindowManager windowManager = getActivity().getWindowManager();
6 Display display = windowManager.getDefaultDisplay();
7 popupWindow = new PopupWindow(popupWindow_view, display.getWidth(),display.getHeight(), true);
8 // 设置动画效果
9 popupWindow.setAnimationStyle(R.style.Animation_ZoomLight);
10 //修改窗口的透明度,从而使Activity背景变暗
11 WindowManager.LayoutParams params=getActivity().getWindow().getAttributes();
12 params.alpha=0.7f;
13 getActivity().getWindow().setAttributes(params);
14 //点击其他地方消失
15 popupWindow_view.setOnTouchListener(new OnTouchListener() {
16 @Override
17 public boolean onTouch(View v, MotionEvent event) {
18 // TODO Auto-generated method stub
19 closePopupWindow();
20 return false;
21 }
22 });
23 }
24 /***
25 * 获取PopupWindow实例
26 */
27 private void getPopupWindow() {
28
29 if (null != popupWindow) {
30 closePopupWindow();
31 return;
32 } else {
33 initPopuptWindow();
34 }
35 }
36 /**
37 * 关闭窗口
38 */
39 private void closePopupWindow()
40 {
41 if (popupWindow != null && popupWindow.isShowing()) {
42 popupWindow.dismiss();
43 popupWindow = null;
44 WindowManager.LayoutParams params=getActivity().getWindow().getAttributes();
45 params.alpha=1f;
46 getActivity().getWindow().setAttributes(params);
47 }
48 }