2 回答

TA貢獻(xiàn)1891條經(jīng)驗(yàn) 獲得超3個(gè)贊
已經(jīng)自己解決了。重寫a,b,c的父控件DLayout,重寫D的onInterceptTouchEvent方法,并且定義一個(gè)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這個(gè)重寫了的imageView控件中重寫dispatchTouchEvent方法[mw_shl_code=java,true]public boolean dispatchTouchEvent(MotionEvent event) { if(((DLayout)getParent()).intercept()) { //如果是多觸點(diǎn)就不響應(yīng)onTouch return false; } return super.dispatchTouchEvent(event); }[/mw_shl_code]
添加回答
舉報(bào)