private boolean checkTouchSlop(View child,float dx,float dy){
  if (child == null) {
    return false;
  }
  final boolean checkHorizontal=mCallback.getViewHorizontalDragRange(child) > 0;
  final boolean checkVertical=mCallback.getViewVerticalDragRange(child) > 0;
  if (checkHorizontal && checkVertical) {
    return dx * dx + dy * dy > mTouchSlop * mTouchSlop;
  }
 else   if (checkHorizontal) {
    return Math.abs(dx) > mTouchSlop;
  }
 else   if (checkVertical) {
    return Math.abs(dy) > mTouchSlop;
  }
  return false;
}

private boolean checkTouchSlop ( View child , float dx , float dy ) { if ( child == null ) { return false ; } final boolean checkHorizontal = mCallback . getViewHorizontalDragRange ( child ) > 0 ; final boolean checkVertical = mCallback . getViewVerticalDragRange ( child ) > 0 ; if ( checkHorizontal && checkVertical ) { return dx * dx + dy * dy > mTouchSlop * mTouchSlop ; } else if ( checkHorizontal ) { return Math . abs ( dx ) > mTouchSlop ; } else if ( checkVertical ) { return Math . abs ( dy ) > mTouchSlop ; } return false ; }
check if we ' ve crossed a reasonable touch slop for the given child view . if the child cannot be dragged along the horizontal or vertical axis , motion along that axis will not count toward the slop check .
