2 回答
TA贡献1891条经验 获得超3个赞
已经自己解决了。重写a,b,c的父控件DLayout,重写D的onInterceptTouchEvent方法,并且定义一个boolean变量intercept=false[mw_shl_code=java,true] @Override public boolean onInterceptTouchEvent(MotionEvent event) { switch (event.getAction()& MotionEvent.ACTION_MASK) { case MotionEvent.ACTION_UP: intercept = false; break; case MotionEvent.ACTION_POINTER_UP: intercept = false; break; case MotionEvent.ACTION_POINTER_DOWN: intercept = true; break; } return super.onInterceptTouchEvent(event); } public boolean intercept() { return intercept; } [/mw_shl_code]然后在a,b,c这个重写了的imageView控件中重写dispatchTouchEvent方法[mw_shl_code=java,true]public boolean dispatchTouchEvent(MotionEvent event) { if(((DLayout)getParent()).intercept()) { //如果是多触点就不响应onTouch return false; } return super.dispatchTouchEvent(event); }[/mw_shl_code]
添加回答
举报
