我想防止在抖动中向下滑动时忽略bottom sheet,我想使用
bottom sheet
Scaffold.of(context).showBottomSheet<void>((BuildContext context) => ...)
而不是showModalBottomSheet(因为我需要搭建信息),是否有showBottomSheet解决方案?我该怎么做?
showModalBottomSheet
showBottomSheet
w80xi6nr1#
如果使用的是showModalBottomSheet,请使用enableDrag属性。
enableDrag
showModalBottomSheet<bool>( context: context, enableDrag: false, ... builder: (BuildContext bc) { return ..your widgets... } );
kx5bkwkv2#
showModalBottomSheet( isDismissible: false, )
e5nqia273#
使用GestureDetector Package 小部件并禁用拖动:
GestureDetector
Scaffold.of(context).showBottomSheet( (context) => GestureDetector( child: YourWidget(), onVerticalDragStart: (_) {}, ), )
ztigrdn84#
尽管@Sami answer运行良好,但它并不十分优雅,因为它看起来像是一个变通方案。对于这种情况,您应该使用AbsorbPointer,而不仅仅是使用空的Gesture。简单地说(粘贴文档):在命中测试期间吸收指针的小部件。在您的情况下,您可以使用如下语句:
AbsorbPointer
Scaffold.of(context).showBottomSheet( (context) => AbsorbPointer(child: Container()), )
4条答案
按热度按时间w80xi6nr1#
如果使用的是
showModalBottomSheet
,请使用enableDrag
属性。kx5bkwkv2#
e5nqia273#
使用
GestureDetector
Package 小部件并禁用拖动:ztigrdn84#
尽管@Sami answer运行良好,但它并不十分优雅,因为它看起来像是一个变通方案。
对于这种情况,您应该使用
AbsorbPointer
,而不仅仅是使用空的Gesture。简单地说(粘贴文档):
在命中测试期间吸收指针的小部件。
在您的情况下,您可以使用如下语句: