Closed samuelkubinsky closed 1 month ago
Update: "Stop tap" doesn't work only when tap occured on interactive widget.
Thank you for reporting, and I was able to reproduce the problem with the provided code. I also found that this problem occurs not only with NavigationSheet but with ScrollableSheet as well. Here's a more minimal reproduction code:
https://github.com/fujidaiti/smooth_sheets/assets/68946713/138e0f96-a970-46e9-90f8-0e6d25d050f1
It seems like this bug has existed since v0.7.0
or v0.6.0
. The above code works fine with v0.5.3
.
In the video you can see the sheet passing through tap gesture without stopping the scroll. I also included a fullscreen implementation to show how it should behave.
Versions: smooth_sheets: 0.8.1 go_router: 14.2.0
![Video]
Code
``` import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; import 'package:smooth_sheets/smooth_sheets.dart'; void main() { runApp(MyApp()); } final transitionObserver = NavigationSheetTransitionObserver(); class MyApp extends StatelessWidget { MyApp({super.key}); final router = GoRouter( initialLocation: "/sheet", routes: [ ShellRoute( observers: [transitionObserver], builder: (context, state, child) { return NavigationSheet( transitionObserver: transitionObserver, child: Material( color: Theme.of(context).colorScheme.primary, borderRadius: BorderRadius.circular(16), clipBehavior: Clip.antiAlias, child: child, ), ); }, routes: [ GoRoute( path: "/sheet", pageBuilder: (context, state) { return ScrollableNavigationSheetPage( key: state.pageKey, initialExtent: const Extent.proportional(0.9), minExtent: const Extent.proportional(0.9), maxExtent: const Extent.proportional(0.9), child: PageBlue(), transitionsBuilder: (context, animation, secondaryAnimation, child) { final theme = Theme.of(context).pageTransitionsTheme; final route = ModalRoute.of(context) as PageRoute