HorizonScrollView 的滑动下与子控件的onTouch事件冲突

最近项目中,要做类似微信录音,长按录音,手指移动到其他地方取消录音。这些录音button都在水平列表HorizonScrollView
中, 测试当移动到其他地方是接收不到Action_Move 设置请求父控件不拦截后,又会导致scrollView滑动出现问题! 有哪位大神会的?我发代码给您看下!谢谢!

public boolean onTouchEvent(MotionEvent event) {
int action = event.getAction();
int x = (int) event.getX();
int y = (int) event.getY();

    switch (action) {
        case MotionEvent.ACTION_DOWN:
            Log.i("wtf","     --------------------------        ACTION_DOWN");

// isRecording = true;
changeState(STATE_RECORDING);
break;
case MotionEvent.ACTION_MOVE:
Log.i("wtf"," -------------------------- ACTION_MOVE");
// getParent().requestDisallowInterceptTouchEvent(false);
WorkMarkUi.flag=0;
if (isRecording) {
//根据x y的坐标判断是否想取消
if (wantToCancel(x, y)) {
changeState(STATE_WANT_TO_CANCEL);
} else {
changeState(STATE_RECORDING);
}
}
break;
case MotionEvent.ACTION_UP:
WorkMarkUi.flag=-1;

            //   getParent().requestDisallowInterceptTouchEvent(true);
            Log.i("wtf","     --------------------------        ACTION_UP");
            if(!mReady){
                reset();
                return  super.onTouchEvent(event);
            }
            onActionUp();
            break;

    }
    return super.onTouchEvent(event);
}




    ScrollView:
        @Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
    if (WorkMarkUi.flag == -1) {
        return super.onInterceptTouchEvent(ev);
   }else{
        return false;
    }
}

监听滑动事件,按住子view的把事件给子view,否则父view自己处理