Popupwindow 触摸外部 消失

PopupWindow popupWindow = new PopupWindow(view,
        LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, false);//focusable为false

// 如果不设置PopupWindow的背景,无论是点击外部区域还是Back键都无法dismiss弹框
// 我觉得这里是API的一个bug
popupWindow.setBackgroundDrawable(getResources().getDrawable(
        R.drawable.bgconfig_w));
popupWindow.setOutsideTouchable(true);

依据PopupWindow的源代码:

/**
 * 

Controls whether the pop-up will be informed of touch events outside * of its window. This only makes sense for pop-ups that are touchable * but not focusable, which means touches outside of the window will * be delivered to the window behind. The default is false.

* *

If the popup is showing, calling this method will take effect only * the next time the popup is shown or through a manual call to one of * the {@link #update()} methods.

* * @param touchable true if the popup should receive outside * touch events, false otherwise * * @see #isOutsideTouchable() * @see #isShowing() * @see #update() */ public void setOutsideTouchable(boolean touchable) { mOutsideTouchable = touchable; }

 

 

你可能感兴趣的:(android,样式)