Skip to content

AnimationController must be provided when BottomSheet.enableDrag or BottomSheet.showDragHandle is true #127093

@TahaTesser

Description

@TahaTesser

Is there an existing issue for this?

Steps to reproduce

Run the code sample below.

BottomSheet. enableDrag defaults to true but it required providing AnimationController. to the BottomSheet.
This isn't documented:
https://master-api.flutter.dev/flutter/material/BottomSheet-class.html
https://master-api.flutter.dev/flutter/material/BottomSheet/enableDrag.html

Only after the running code, you get the error message to understand the requirement.

Expected results

AnimationController must be provided is documented

Actual results

AnimationController must be provided isn't documented

Code sample

Code sample
import 'package:flutter/material.dart';

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      theme: ThemeData(useMaterial3: true),
      home: const Example(),
    );
  }
}

class Example extends StatelessWidget {
  const Example({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      bottomSheet: BottomSheet(
        builder: (BuildContext context) {
          return Container(
            height: 200,
            color: Colors.red,
          );
        }, onClosing: () {  },
      ),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration

[Upload media here]

Logs

Logs
flutter: When the exception was thrown, this was the stack:
flutter: #2      _BottomSheetState._handleDragEnd (package:flutter/src/material/bottom_sheet.dart:279:7)
flutter: #3      DragGestureRecognizer._checkEnd.<anonymous closure> (package:flutter/src/gestures/monodrag.dart:540:47)
flutter: #4      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:275:24)
flutter: #5      DragGestureRecognizer._checkEnd (package:flutter/src/gestures/monodrag.dart:540:5)
flutter: #6      DragGestureRecognizer.didStopTrackingLastPointer (package:flutter/src/gestures/monodrag.dart:463:9)
flutter: #7      OneSequenceGestureRecognizer.stopTrackingPointer (package:flutter/src/gestures/recognizer.dart:465:9)
flutter: #8      DragGestureRecognizer._giveUpPointer (package:flutter/src/gestures/monodrag.dart:471:5)
flutter: #9      DragGestureRecognizer.handleEvent (package:flutter/src/gestures/monodrag.dart:394:7)
flutter: #10     PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:98:12)
flutter: #11     PointerRouter._dispatchEventToRoutes.<anonymous closure> (package:flutter/src/gestures/pointer_router.dart:143:9)
flutter: #12     _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:625:13)
flutter: #13     PointerRouter._dispatchEventToRoutes (package:flutter/src/gestures/pointer_router.dart:141:18)
flutter: #14     PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:127:7)
flutter: #15     GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:465:19)
flutter: #16     GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:445:22)
flutter: #17     RendererBinding.dispatchEvent (package:flutter/src/rendering/binding.dart:331:11)
flutter: #18     GestureBinding._handlePointerEventImmediately (package:flutter/src/gestures/binding.dart:400:7)
flutter: #19     GestureBinding.handlePointerEvent (package:flutter/src/gestures/binding.dart:363:5)
flutter: #20     GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:320:7)
flutter: #21     GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:293:9)
flutter: #22     _invoke1 (dart:ui/hooks.dart:186:13)
flutter: #23     PlatformDispatcher._dispatchPointerDataPacket (dart:ui/platform_dispatcher.dart:415:7)
flutter: #24     _dispatchPointerDataPacket (dart:ui/hooks.dart:119:31)
flutter: (elided 2 frames from class _AssertionError)
flutter: 
flutter: Handler: "onEnd"
flutter: Recognizer:
flutter:   VerticalDragGestureRecognizer#ed2f7

Flutter Doctor output

Doctor output
 [!] Flutter (Channel master, 3.11.0-6.0.pre.134, on macOS 13.3.1 22E772610a darwin-arm64, locale en-EE)
    • Flutter version 3.11.0-6.0.pre.134 on channel master at /Users/tahatesser/Code/flutter
    ! Upstream repository [email protected]:TahaTesser/flutter.git is not the same as FLUTTER_GIT_URL
    • FLUTTER_GIT_URL = [email protected]:NevercodeHQ/flutter.git
    • Framework revision f31dae2a80 (8 hours ago), 2023-05-17 17:18:51 -0700
    • Engine revision d970370779
    • Dart version 3.1.0 (build 3.1.0-118.0.dev)
    • DevTools version 2.23.1
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks
      and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
    • Android SDK at /Users/tahatesser/Code/android-sdk
    • Platform android-33, build-tools 33.0.2
    • ANDROID_SDK_ROOT = /Users/tahatesser/Code/android-sdk
    • Java binary at: /Applications/Android Studio Preview.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.12.0

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio
    • Android Studio at /Applications/Android Studio Preview.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)

[✓] VS Code (version 1.78.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.64.0

[✓] VS Code (version 1.79.0-insider)
    • VS Code at /Applications/Visual Studio Code - Insiders.app/Contents
    • Flutter extension version 3.64.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 13.3.1 22E772610a darwin-arm64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 113.0.5672.126

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

Metadata

Metadata

Assignees

Labels

d: api docsIssues with https://api.flutter.dev/f: material designflutter/packages/flutter/material repository.frameworkflutter/packages/flutter repository. See also f: labels.team-designOwned by Design Languages teamtriaged-designTriaged by Design Languages team

Type

No type

Projects

Status

Done (PR merged)

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions