popupwindow点击问题

一直以来都没有记录的习惯,每次做项目都去找之前写过的代码,费时费力,以后在这记录下自己觉得值得记录的东西。

popopwindow的显示隐藏问题,遇到过很多次,每次的效果都不尽人意。今天终于找到好的处理方法,mark下。

今天项目又用到popopwindow,老规矩点击区域外及点击返回按钮取消popupwindow。

代码如下:

 popupWindow = new PopupWindow(popupView, 180, LayoutParams.WRAP_CONTENT, false);
        popupWindow.setTouchable(true);
        //popupwindow 点击区域外消失设置
        popupWindow.setBackgroundDrawable(new BitmapDrawable());  
        popupWindow.setOutsideTouchable(true);  

注意点:popupWindow.setBackgroundDrawable(new BitmapDrawable());  ,不设置点击无效。效果是出来了,可点击按钮弹出popupwindow一直无法取消,且点击外部区域popupwindow是取消了,但是直接执行碰触区域的事件,很是烦恼。找了很久找到了解决问题:加上以下代码就完美解决了存在的问题。

  popupWindow.setFocusable(true) ;  
        popupWindow.setTouchable(true) ;  
        popupWindow.setTouchInterceptor(new OnTouchListener() {  
@Override
public boolean onTouch(View v, MotionEvent event) {
popupWindow.dismiss() ;  
             
                return true;  
}  
        }) ;  

 

你可能感兴趣的:(popupwindow点击问题)