flutter 如何防止下料板的抖动

pu3pd22g  于 2023-01-31  发布在  Flutter
关注(0)|答案(4)|浏览(128)

我想防止在抖动中向下滑动时忽略bottom sheet,我想使用

Scaffold.of(context).showBottomSheet<void>((BuildContext context) => ...)

而不是showModalBottomSheet(因为我需要搭建信息),是否有showBottomSheet解决方案?我该怎么做?

w80xi6nr

w80xi6nr1#

如果使用的是showModalBottomSheet,请使用enableDrag属性。

showModalBottomSheet<bool>(
        context: context,
        enableDrag: false,
        ...
        builder: (BuildContext bc) {
           return ..your widgets...
        }
);
kx5bkwkv

kx5bkwkv2#

showModalBottomSheet(
    isDismissible: false,
)
e5nqia27

e5nqia273#

使用GestureDetector Package 小部件并禁用拖动:

Scaffold.of(context).showBottomSheet(
  (context) => GestureDetector(
    child: YourWidget(),
    onVerticalDragStart: (_) {},
  ),
)
ztigrdn8

ztigrdn84#

尽管@Sami answer运行良好,但它并不十分优雅,因为它看起来像是一个变通方案。
对于这种情况,您应该使用AbsorbPointer,而不仅仅是使用空的Gesture。
简单地说(粘贴文档):
在命中测试期间吸收指针的小部件。
在您的情况下,您可以使用如下语句:

Scaffold.of(context).showBottomSheet(
  (context) => AbsorbPointer(child: Container()),
)

相关问题