From c6ea2d404023ca1a92cb95eb3f177579df1c2d28 Mon Sep 17 00:00:00 2001 From: rightnao Date: Thu, 24 Aug 2023 22:28:22 +0000 Subject: [PATCH] [Carousel] Update vertical scroll speed to be faster PiperOrigin-RevId: 559888221 --- .../android/material/carousel/CarouselSnapHelper.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/java/com/google/android/material/carousel/CarouselSnapHelper.java b/lib/java/com/google/android/material/carousel/CarouselSnapHelper.java index b5a75e65616..eda7662a4f1 100644 --- a/lib/java/com/google/android/material/carousel/CarouselSnapHelper.java +++ b/lib/java/com/google/android/material/carousel/CarouselSnapHelper.java @@ -34,6 +34,10 @@ */ public class CarouselSnapHelper extends SnapHelper { + private static final float HORIZONTAL_SNAP_SPEED = 100F; + + private static final float VERTICAL_SNAP_SPEED = 50F; + private final boolean disableFling; private RecyclerView recyclerView; @@ -245,7 +249,11 @@ protected void onTargetFound( @Override protected float calculateSpeedPerPixel(DisplayMetrics displayMetrics) { - return 100.0F / (float) displayMetrics.densityDpi; + // If the carousel orientation is vertical, we want the scroll speed to be faster. + if (layoutManager.canScrollVertically()) { + return VERTICAL_SNAP_SPEED / (float) displayMetrics.densityDpi; + } + return HORIZONTAL_SNAP_SPEED / (float) displayMetrics.densityDpi; } } : null;