颤振showModalBottomSheet,其中的工作表不可用?

时间:2018-06-21 18:36:14

标签: material-design flutter

我想利用模态底页进行数据输入。我不希望用户仅通过触摸表格外部即可将其关闭。本文介绍了如何在Android本机中执行此操作。

https://medium.com/@betakuang/make-your-bottomsheetdialog-noncancelable-e50a070cdf07

我该如何使用flutter小部件?

3 个答案:

答案 0 :(得分:1)

模式 BottomSheet替代persistent BottomSheet

您唯一需要做的更改就是将showModalBottomSheet更改为showBottomSheet

持久 BottomSheet仍然可以通过例如按下 Android上的后退按钮。这是好的行为,就像材料行为一样。

答案 1 :(得分:1)

这种做法对我有用!

showModalBottomSheet(
    isDismissible: false, // <--- this line
    clipBehavior: ,
    shape: RoundedRectangleBorder(
      borderRadius: BorderRadius.only(
          topLeft: Radius.circular(25.0), topRight: Radius.circular(25.0)),
    ),
    context: context,
    builder: (builder) {
      return Container(
        child: Column(children: <Widget>[
         SizedBox(height: 250,)
        ]),
      );

   });

答案 2 :(得分:1)

这里

  • 设置 enableDrag false 会禁用底部工作表的拖动

  • 设置为可禁用 会禁用外部触摸取消功能

  • onWillPop 上返回空值会覆盖后退按钮,因此用户无法使用后退按钮

     showModalBottomSheet(
       enableDrag: false,
       isDismissible: false,
       context: context,
       builder: (context) {
         return WillPopScope(
          onWillPop: () {},
          child: Container());
       });