我想利用模态底页进行数据输入。我不希望用户仅通过触摸表格外部即可将其关闭。本文介绍了如何在Android本机中执行此操作。
https://medium.com/@betakuang/make-your-bottomsheetdialog-noncancelable-e50a070cdf07
我该如何使用flutter小部件?
答案 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());
});