public override int FindTargetSnapPosition(RecyclerView.LayoutManager layoutManager, int velocityX, int velocityY)
        {
            //throw new NotImplementedException();
            int target = RecyclerView.NoPosition;//.NO_POSITION;

            Loge("findTargetSnapPosition, velocityX = " + velocityX + ", velocityY" + velocityY);
            if (null != layoutManager && layoutManager is PagerGridLayoutManager)
            {
                PagerGridLayoutManager manager = (PagerGridLayoutManager)layoutManager;
                if (manager.CanScrollHorizontally())
                {
                    if (velocityX > PagerConfig.GetFlingThreshold())
                    {
                        target = manager.FindNextPageFirstPos();
                    }
                    else if (velocityX < -PagerConfig.GetFlingThreshold())
                    {
                        target = manager.FindPrePageFirstPos();
                    }
                }
                else if (manager.CanScrollVertically())
                {
                    if (velocityY > PagerConfig.GetFlingThreshold())
                    {
                        target = manager.FindNextPageFirstPos();
                    }
                    else if (velocityY < -PagerConfig.GetFlingThreshold())
                    {
                        target = manager.FindPrePageFirstPos();
                    }
                }
            }
            Loge("findTargetSnapPosition, target = " + target);
            return(target);
        }
Exemple #2
0
 public static void Loge(string msg)
 {
     if (!PagerConfig.IsShowLog())
     {
         return;
     }
     Log.Error(TAG, msg);
 }
Exemple #3
0
 protected override float CalculateSpeedPerPixel(DisplayMetrics displayMetrics)
 {
     return(PagerConfig.GetMillisecondsPreInch() / (int)displayMetrics.DensityDpi);
 }