From c262126c41461e8057a83a8f14022c306ea9c8ae Mon Sep 17 00:00:00 2001 From: xubaolin Date: Wed, 10 Aug 2022 02:15:07 +0800 Subject: [PATCH] Fix DraggableScrollableSheet and ListView has tiny scroll of one pixel (#109081) --- .../src/widgets/draggable_scrollable_sheet.dart | 15 +-------------- .../flutter/test/material/bottom_sheet_test.dart | 1 - 2 files changed, 1 insertion(+), 15 deletions(-) diff --git a/packages/flutter/lib/src/widgets/draggable_scrollable_sheet.dart b/packages/flutter/lib/src/widgets/draggable_scrollable_sheet.dart index dbed72cfb8..3035895659 100644 --- a/packages/flutter/lib/src/widgets/draggable_scrollable_sheet.dart +++ b/packages/flutter/lib/src/widgets/draggable_scrollable_sheet.dart @@ -538,8 +538,6 @@ class _DraggableSheetExtent { double get currentSize => _currentSize.value; double get currentPixels => sizeToPixels(_currentSize.value); - double get additionalMinSize => isAtMin ? 0.0 : 1.0; - double get additionalMaxSize => isAtMax ? 0.0 : 1.0; List get pixelSnapSizes => snapSizes.map(sizeToPixels).toList(); /// Start an activity that affects the sheet and register a cancel call back @@ -795,7 +793,7 @@ class _DraggableScrollableSheetScrollController extends ScrollController { ScrollPosition? oldPosition, ) { return _DraggableScrollableSheetScrollPosition( - physics: physics, + physics: const AlwaysScrollableScrollPhysics().applyTo(physics), context: context, oldPosition: oldPosition, getExtent: () => extent, @@ -887,17 +885,6 @@ class _DraggableScrollableSheetScrollPosition extends ScrollPositionWithSingleCo super.beginActivity(newActivity); } - @override - bool applyContentDimensions(double minScrollSize, double maxScrollSize) { - // We need to provide some extra size if we haven't yet reached the max or - // min sizes. Otherwise, a list with fewer children than the size of - // the available space will get stuck. - return super.applyContentDimensions( - minScrollSize - extent.additionalMinSize, - maxScrollSize + extent.additionalMaxSize, - ); - } - @override void applyUserOffset(double delta) { if (!listShouldScroll && diff --git a/packages/flutter/test/material/bottom_sheet_test.dart b/packages/flutter/test/material/bottom_sheet_test.dart index 320cdbd362..316e4d0073 100644 --- a/packages/flutter/test/material/bottom_sheet_test.dart +++ b/packages/flutter/test/material/bottom_sheet_test.dart @@ -879,7 +879,6 @@ void main() { children: [ TestSemantics( flags: [SemanticsFlag.hasImplicitScrolling], - actions: [SemanticsAction.scrollDown, SemanticsAction.scrollUp], children: [ TestSemantics( label: 'BottomSheet',