1. 获取打到数据
for (int i = 0; i < iocOutMakeMaterialSubmit.data.size(); i++) { dataListPopupWindow.add(iocOutMakeMaterialSubmit.data.get(i));}initPopupWindow();
2. 初始化
/** * 创建PopupWindow */protected void initPopupWindow() { LayoutInflater inflater = LayoutInflater.from(getActivity()); View contentView = inflater.inflate(R.layout.popupwindow_ioc_out_make_material_submit, null); ListView listView = (ListView) contentView.findViewById(R.id.list_view_submit_popwin); adapterPopupwindow = new AdapterPopupWindow(getActivity(), R.layout.item_list_ioc_out_make_material_submit, dataListPopupWindow); listView.setAdapter(adapterPopupwindow); //item 的点击事件 listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { IOCOutMakeMaterialSubmit.Data data = dataListPopupWindow.get(i); dataList.add(data); adapterListView.notifyDataSetChanged(); closePopupWindow(); reset(); } }); // PopupWindow实例化 popupWindow = new PopupWindow(contentView, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT, true); popupWindow.setAnimationStyle(R.style.MenuAnimationFade); // 弹出窗口显示内容视图,默认以锚定视图的左下角为起点,这里为点击按钮 popupWindow.showAtLocation(submitBtn, Gravity.CENTER, 0, 0); //获取最底层窗口的参数,背景变灰色效果 WindowManager.LayoutParams params = getActivity().getWindow().getAttributes(); params.alpha = 0.5f; getActivity().getWindow().setAttributes(params);}
3.关闭窗口
/** * 关闭窗口 */private void closePopupWindow() { if (popupWindow != null && popupWindow.isShowing()) { popupWindow.dismiss(); popupWindow = null; WindowManager.LayoutParams params = getActivity().getWindow().getAttributes(); params.alpha = 1f; getActivity().getWindow().setAttributes(params); }}
时间: 2024-11-06 00:53:58