最近在做PopupWindow, 发现使用PopupWindow一出现,不会响应popup外面的事件,经过资料查找,发现有两种方法可以响应外部事件。
/** 只是要简单的响应返回事件,即点击返回键,popup消失,那只需设置popup的背景就可以了 */ popUpWindow.setBackgroundDrawable(new BitmapDrawable());
/** 如果要对返回事件进行重写,那就用如下方法 */ //获取popup上的一个view View viewInPopup = findViewById(xxx); //必须写这一句,全这个view能够获取焦点,这才能响应外部的事件 viewInPopup.setFocusableInTouchMode(true); viewInPopup.setOnKeyListener(new OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { //对键盘事件进行重写 return false; }