Android
public void showPopupWindow(View v) {
View view = LayoutInflater.from(mContext).inflate(R.layout.popupwindow_category, null);
final PopupWindow popupWindow = new PopupWindow(view, ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT, true);
popupWindow.setTouchable(true);
popupWindow.setFocusable(true);
popupWindow.setBackgroundDrawable(new BitmapDrawable());
popupWindow.setTouchInterceptor(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return false;
}
});
popupWindow.showAsDropDown(v);
backgroundAlpha(0.7f);
popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
@Override
public void onDismiss() {
backgroundAlpha(1f);
}
});
}
public void backgroundAlpha(float alpha) {
WindowManager.LayoutParams lp = getActivity().getWindow().getAttributes();
lp.alpha = alpha;
getActivity().getWindow().setAttributes(lp);
}
}