如何防止通过向下拖动来消除抖动showBottomSheet?

时间:2019-06-12 10:19:10

标签: flutter dart

我在flutter中使用showBottomSheet来显示持久的底部工作表。如何防止通过向下拖动来消除抖动showBottomSheet?   我在下面添加了我的代码。您可以放置​​一个原材料按钮,然后按下该功能。

  void itemChooser(
      {int currentItemCount, String name, callBack, BuildContext context}) {
    int chosen = 0;
    showBottomSheet(
        context: context,
        builder: (BuildContext context) {
          return Container(
              height: 500,
              color: Colors.white,
              );
        });
  }

4 个答案:

答案 0 :(得分:3)

只需用GestureDetector包裹您的孩子并设置onVerticalDragStart:(_){},

showBottomSheet(
  context: context,
  builder: (context) => GestureDetector(
    child: *your_widget*,
    onVerticalDragStart: (_) {},
  ),
 
);

答案 1 :(得分:1)

默认情况下,将enableDrag的{​​{1}}属性设置为其BottomSheet的{​​{1}}

false

有关true的更多信息,请参考here

答案 2 :(得分:1)

您可以将Bottomsheet的enableDrag属性设置为false。 默认情况下,enableDragtrueDoc

BottomSheet(
  enableDrag: false,
  builder: //builder
),

答案 3 :(得分:1)

如果您使用showModalBottomSheet,只需使用enableDrag属性:

showModalBottomSheet(
  context: context,
  builder: (context) => yourWidget,
  enableDrag: false,
);