@@ -316,6 +316,7 @@ class FixedExtentMetrics extends FixedScrollMetrics {
316316 required super .viewportDimension,
317317 required super .axisDirection,
318318 required this .itemIndex,
319+ required super .devicePixelRatio,
319320 });
320321
321322 @override
@@ -326,6 +327,7 @@ class FixedExtentMetrics extends FixedScrollMetrics {
326327 double ? viewportDimension,
327328 AxisDirection ? axisDirection,
328329 int ? itemIndex,
330+ double ? devicePixelRatio,
329331 }) {
330332 return FixedExtentMetrics (
331333 minScrollExtent: minScrollExtent ?? (hasContentDimensions ? this .minScrollExtent : null ),
@@ -334,6 +336,7 @@ class FixedExtentMetrics extends FixedScrollMetrics {
334336 viewportDimension: viewportDimension ?? (hasViewportDimension ? this .viewportDimension : null ),
335337 axisDirection: axisDirection ?? this .axisDirection,
336338 itemIndex: itemIndex ?? this .itemIndex,
339+ devicePixelRatio: devicePixelRatio ?? this .devicePixelRatio,
337340 );
338341 }
339342
@@ -399,6 +402,7 @@ class _FixedExtentScrollPosition extends ScrollPositionWithSingleContext impleme
399402 double ? viewportDimension,
400403 AxisDirection ? axisDirection,
401404 int ? itemIndex,
405+ double ? devicePixelRatio,
402406 }) {
403407 return FixedExtentMetrics (
404408 minScrollExtent: minScrollExtent ?? (hasContentDimensions ? this .minScrollExtent : null ),
@@ -407,6 +411,7 @@ class _FixedExtentScrollPosition extends ScrollPositionWithSingleContext impleme
407411 viewportDimension: viewportDimension ?? (hasViewportDimension ? this .viewportDimension : null ),
408412 axisDirection: axisDirection ?? this .axisDirection,
409413 itemIndex: itemIndex ?? this .itemIndex,
414+ devicePixelRatio: devicePixelRatio ?? this .devicePixelRatio,
410415 );
411416 }
412417}
@@ -505,8 +510,8 @@ class FixedExtentScrollPhysics extends ScrollPhysics {
505510 // Scenario 3:
506511 // If there's no velocity and we're already at where we intend to land,
507512 // do nothing.
508- if (velocity.abs () < tolerance .velocity
509- && (settlingPixels - metrics.pixels).abs () < tolerance .distance) {
513+ if (velocity.abs () < toleranceFor (position) .velocity
514+ && (settlingPixels - metrics.pixels).abs () < toleranceFor (position) .distance) {
510515 return null ;
511516 }
512517
@@ -519,7 +524,7 @@ class FixedExtentScrollPhysics extends ScrollPhysics {
519524 metrics.pixels,
520525 settlingPixels,
521526 velocity,
522- tolerance: tolerance ,
527+ tolerance: toleranceFor (position) ,
523528 );
524529 }
525530
@@ -530,7 +535,7 @@ class FixedExtentScrollPhysics extends ScrollPhysics {
530535 metrics.pixels,
531536 settlingPixels,
532537 velocity,
533- tolerance .velocity * velocity.sign,
538+ toleranceFor (position) .velocity * velocity.sign,
534539 );
535540 }
536541}
0 commit comments