在5.0上点击外部和滑动外部消失可以直接用
//设置可点击
mPopupmenuView.setFocusable(true);
mPopupmenuView.setOutsideTouchable(true);
mPopupmenuView.setBackgroundDrawable(new BitmapDrawable());
但是在8.0的手机上,这样设置只可以做到点击外部消失,滑动不会消失,自己写了拦截事件,如果点击的是PopupWindow内部的事件不处理,否则dismiss掉!!
mPopupmenuView.setTouchInterceptor(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
if (motionEvent.getY()>=0 && motionEvent.getY() <= view.getMeasuredHeight()){//PopupWindow内部的事件
return false;
}else{
mPopupmenuView.dismiss();
}
return false;
}
});