- 最近在开发过程中 因为要使用到PopupWindow,所有就简单的写了写,但是有个问题困扰了我好久,今天终于解决,想着记录下来,以免以后再犯这种错误
切记 一定要把 popupWindow.setTouchable(false); 设置为false
//设置触摸
popupWindow.setTouchable(false);
public void setPopWindow(View showView){
//获取一个View对象
View view = LayoutInflater.from(ClassificationDetailActivity.this).inflate(R.layout.popwindow_classification, null);
//实例化一个PopupWindow对象
popupWindow = new PopupWindow(view, ViewGroup.LayoutParams.WRAP_CONTENT
, ViewGroup.LayoutParams.WRAP_CONTENT);
//设置popupWindow的布局
popupWindow.setContentView(view);
popupWindow.setBackgroundDrawable(new PaintDrawable());
//设置焦点
popupWindow.setFocusable(true);
//点击popwindow以外的布局让pop消失
popupWindow.setOutsideTouchable(true);
//设置触摸
popupWindow.setTouchable(false);
//设置显示在哪里
popupWindow.showAsDropDown(showView);
//设置popupWindow的触摸事件
popupWindow.setTouchInterceptor(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return false;
}
});
}