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); }
public static void Loge(string msg) { if (!PagerConfig.IsShowLog()) { return; } Log.Error(TAG, msg); }
protected override float CalculateSpeedPerPixel(DisplayMetrics displayMetrics) { return(PagerConfig.GetMillisecondsPreInch() / (int)displayMetrics.DensityDpi); }