listpopupwindow
mListPopupWindow = new ListPopupWindow(mActivity);
mListPopupWindow.setAdapter(new NavAdapter(mActivity, itmes));mListPopupWindow.setWidth(DisplayUtils.getScreenWidthPixels(mActivity) / 2);
mListPopupWindow.setHeight(DisplayUtils.getScreenWidthPixels(mActivity) * 3 / 5);
mListPopupWindow.setAnchorView(titleTv);
mListPopupWindow.setVerticalOffset(titleTv.getHeight() / 2);
mListPopupWindow.setBackgroundDrawable(mActivity.getResources().getDrawable(R.drawable.popover_background));
mListPopupWindow.setOnDismissListener(new OnDismissListener() {
@Override
public void onDismiss() {
titleIv.setImageResource(R.drawable.navigationbar_arrow_down);
}
});
mListPopupWindow.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
ToastUtils.showToast(mActivity, "点击了" + itmes.get(position).getName(), 1000);
}
});
popupwindow
if (mPopupWindow == null) {
view = this.getLayoutInflater().inflate(R.layout.popupwindow_nav, null);
lv_group = (ListView) view.findViewById(R.id.lvGroup);
// 加载数据
itmes = new ArrayList<>();
itmes.add(“首页”);
itmes.add(“我的微博”);
itmes.add(“我的分组”);
lv_group.setAdapter(new NavAdapter(this, itmes));
int width = DisplayUtils.getScreenWidthPixels(this) / 2;
int height = DisplayUtils.getScreenHeightPixels(this) / 2;
// 创建一个PopuWidow对象
mPopupWindow = new PopupWindow(view, width, height);
// 设置允许在外点击消失
mPopupWindow.setOutsideTouchable(true);
}
// 这个是为了点击“返回Back”也能使其消失,并且并不会影响你的背景
mPopupWindow.setBackgroundDrawable(new ColorDrawable(0));
// 显示的位置为:屏幕的宽度的一半-PopupWindow的高度的一半
// int xPos = DisplayUtils.getScreenWidthPixels(mActivity) / 2
// - mPopupWindow.getWidth() / 2;
mPopupWindow.setOnDismissListener(new OnDismissListener() {
@Override
public void onDismiss() {
// titleIv.setImageResource(R.drawable.navigationbar_arrow_down);
}
});
lv_group.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
// ToastUtils.showToast(this, "点击了" +
// itmes.get(position), 1000);
}
});
mPopupWindow.showAsDropDown(iv_add); 或者 mPopupWindow.showatLocation();
mPopupWindow.setFocusable(true);
目前Fragment里调用PopupWindow会出现 设置PopupWindow的大小无效的情况,尚未解决!!!