public void OnDownMotionEvent()
 {
     if (_observableScrollViewCallbacks != null)
     {
         _observableScrollViewCallbacks.OnDownMotionEvent();
     }
 }
 public override bool OnInterceptTouchEvent(MotionEvent ev)
 {
     if (_mCallbacks != null)
     {
         switch (ev.ActionMasked)
         {
         case MotionEventActions.Down:
             // Whether or not motion events are consumed by children,
             // flag initializations which are related to ACTION_DOWN events should be executed.
             // Because if the ACTION_DOWN is consumed by children and only ACTION_MOVEs are
             // passed to parent (this view), the flags will be invalid.
             // Also, applications might implement initialization codes to onDownMotionEvent,
             // so call it here.
             _mFirstScroll = _mDragging = true;
             _mCallbacks.OnDownMotionEvent();
             break;
         }
     }
     return(base.OnInterceptTouchEvent(ev));
 }