Чтобы ваше окно перестало закрываться при нажатии снаружи, вам нужно удалить эту строку:
pWindow.setBackgroundDrawable(new BitmapDrawable());
Не знаю, почему именно, но я знаю, что для того, чтобы сделать фон для рисования, нужно было закрыть его, щелкнув снаружи.
Теперь, что касается создания самого окна, у вас должно быть следующее:
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
popupView =(RelativeLayout) inflater.inflate(R.layout.popup, (ViewGroup) findViewById(R.id.<IdOfLayoutInPopupXML>);
pWindow = new PopupWindow(popupView, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, true);
pWindow.setTouchable(true);
pWindow.showAsDropDown(anchor, 0, 0);
Я знаю, что это старое, но это, по крайней мере, так, как я хотел бы, так как именно так работают мои всплывающие окна прямо сейчас. (за исключением того, что я не показываю как выпадающие списки).