public override int FindTargetSnapPosition(RecyclerView.LayoutManager layoutManager, int velocityX, int velocityY)
        {
            var ll = (layoutManager as RecyclerView.SmoothScroller.IScrollVectorProvider);

            if (ll == null)
            {
                return(RecyclerView.NoPosition);
            }

            View centerView = FindSnapView(layoutManager);

            if (centerView == null)
            {
                return(RecyclerView.NoPosition);
            }

            int currentPosition = layoutManager.GetPosition(centerView);

            if (currentPosition == RecyclerView.NoPosition)
            {
                return(RecyclerView.NoPosition);
            }

            return(currentPosition);
        }
        public override int[] CalculateDistanceToFinalSnap(RecyclerView.LayoutManager layoutManager, View targetView)
        {
            //throw new NotImplementedException();
            int pos = layoutManager.GetPosition(targetView);

            Loge("findTargetSnapPosition, pos = " + pos);
            int[] offset = new int[2];
            if (layoutManager is PagerGridLayoutManager)
            {
                PagerGridLayoutManager manager = (PagerGridLayoutManager)layoutManager;
                offset = manager.GetSnapOffset(pos);
            }
            return(offset);
        }