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]
添加回答
舉報