当前位置:编程学习 > wap >>

popupwindow 截获MotionEvent.ACTION_OUTSIDE问题

各位大侠:
 我现在做了一个popupwindow,点击某按钮弹出window,window上面本身要响应点击事件,谷设置了属性setFocusable(true),现在想要点击window外面区域的按钮,并响应被点击按钮的事件,就是点击window外某按钮后,window先消失,同时也要响应被点按钮的事件,我现在对window设置了如下属性,但是截获不到MotionEvent.ACTION_OUTSIDE事件,但是可以截获到MotionEvent.DOWN、MotionEvent.MOVE等事件 求救!
popUpWindow.setOutsideTouchable(true);
popUpWindow.setFocusable(true);
popUpWindow.setBackgroundDrawable(new BitmapDrawable());
popUpWindow.setTouchInterceptor(new OnTouchListener() {

@Override
public boolean onTouch(View v, MotionEvent event) {
Log.v("test", "onTouch");
// TODO Auto-generated method stub
Log.v("test", "event.getAction()==" + event.getAction());
if (event.getAction() == MotionEvent.ACTION_OUTSIDE) {
Log.v("test", "MotionEvent.ACTION_OUTSIDE");
popUpWindow.setFocusable(false);
}
return false;
}
}); --------------------编程问答-------------------- 求大侠回答问题啊~~ 多谢啊 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 我记得我当初用windowsManager 做弹出view时也碰到过这个问题,不过我的需求和你的有些不同
但是思想差不多 建议你自定义一个layout 就是你的popupwindow 需要弹出的那个 继承view 或者是什么layout都行 ;
然后呢重写里面的onDetachedFromWindow() 方法
你看看这个方法的具体说明 这个方法的意思是你的view在屏幕窗口上消失时要做的操作 
 明白了吧 所以你可以重写它 把你要响应点击事件的代码加进去 我的思路是这样 你再想想

补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,