@Override
 public boolean dispatchTouchEvent(MotionEvent ev) {
   if (mOnDragListener != null) {
     mOnDragListener.onDrag(ev);
   }
   return super.dispatchTouchEvent(ev);
 }
  private void drag(MotionEvent event) {
    float dragCurrentX = event.getX(POINTER1);
    float dragCurrentY = event.getY(POINTER1);

    if (onDragListener != null) {
      onDragListener.onDrag(dragCurrentX - dragLastX, dragCurrentY - dragLastY);
    }

    dragLastX = dragCurrentX;
    dragLastY = dragCurrentY;
  }
 private void startDrag(MotionEvent event) {
   dragLastX = event.getX(POINTER1);
   dragLastY = event.getY(POINTER1);
   onDragListener.startDrag(dragLastX, dragLastY);
 }
 private void endDrag() {
   onDragListener.endDrag(dragLastX, dragLastY);
 }