Flutter:如何禁用向下拖动以关闭 showModalBottomSheet
Flutter : How to disable drag down to close showModalBottomSheet
我想禁用向下拖动以关闭 showModalBottomSheet
我已经尝试使用 enableDrag:false,
当我使用 enableDrag:false,
时显示以下错误
下面是我的代码
modal(BuildContext context) {
showModalBottomSheet(
context: context,
enableDrag:false,
isDismissible: false,
backgroundColor: Colors.transparent,
builder: (context) {
return Container(
width: MediaQuery.of(context).size.width,
child: Stack(
alignment: Alignment.topCenter,
children: <Widget>[
Container(
width: MediaQuery.of(context).size.width,
padding: EdgeInsets.only(top: 30),
child: Stack(
alignment: Alignment.topCenter,
children: <Widget>[
ClipPath(
clipper: OvalTopBorderClipper(),
child: Container(
width: MediaQuery.of(context).size.width,
padding: EdgeInsets.only(top: 80),
color: Colors.white,
height: 440,
child: Text("This is a modal bottom sheet !"),
),
),
],
),
),
Positioned(
top: 5,
child: Container(
width: 50.0,
height: 53.0,
child: Center(
child: Text(
"K",
style: TextStyle(
color: AppColors.textColor, fontSize: 20.0),
),
),
padding:
EdgeInsets.symmetric(horizontal: 10.0, vertical: 10.0),
decoration: BoxDecoration(
border:
Border.all(color: AppColors.textColor, width: 2)),
),
),
],
),
);
});
}
我已经检查过了post
- Disable drag down to close showModalBottomSheet
如果需要更多信息,请告诉我。提前致谢。您的努力将不胜感激。
enableDrag
在 showModalBottomSheet
中不可用。我不认为它在稳定频道中可用。根据当时 link 的评论,它在 Master 频道中可用。但是 link 的第二个答案效果很好
builder: (context) => GestureDetector(
onVerticalDragDown: (_) {},
child: ...,
here 是 showModalBottomSheet
的文档。您可以随时点击 showModalBottomSheet
并自定义它。根据文档
BottomSheet, which becomes the parent of the widget returned by the function passed as the builder argument to showModalBottomSheet.
和 BottomSheet 有 enableDrag
参数。
自 2020 年 5 月 6 日起,flutter v1.17.1 enableDrag 在 showModalBottomSheet 上可用
我想禁用向下拖动以关闭 showModalBottomSheet
我已经尝试使用 enableDrag:false,
当我使用 enableDrag:false,
时显示以下错误
下面是我的代码
modal(BuildContext context) {
showModalBottomSheet(
context: context,
enableDrag:false,
isDismissible: false,
backgroundColor: Colors.transparent,
builder: (context) {
return Container(
width: MediaQuery.of(context).size.width,
child: Stack(
alignment: Alignment.topCenter,
children: <Widget>[
Container(
width: MediaQuery.of(context).size.width,
padding: EdgeInsets.only(top: 30),
child: Stack(
alignment: Alignment.topCenter,
children: <Widget>[
ClipPath(
clipper: OvalTopBorderClipper(),
child: Container(
width: MediaQuery.of(context).size.width,
padding: EdgeInsets.only(top: 80),
color: Colors.white,
height: 440,
child: Text("This is a modal bottom sheet !"),
),
),
],
),
),
Positioned(
top: 5,
child: Container(
width: 50.0,
height: 53.0,
child: Center(
child: Text(
"K",
style: TextStyle(
color: AppColors.textColor, fontSize: 20.0),
),
),
padding:
EdgeInsets.symmetric(horizontal: 10.0, vertical: 10.0),
decoration: BoxDecoration(
border:
Border.all(color: AppColors.textColor, width: 2)),
),
),
],
),
);
});
}
我已经检查过了post
- Disable drag down to close showModalBottomSheet
如果需要更多信息,请告诉我。提前致谢。您的努力将不胜感激。
enableDrag
在 showModalBottomSheet
中不可用。我不认为它在稳定频道中可用。根据当时 link 的评论,它在 Master 频道中可用。但是 link 的第二个答案效果很好
builder: (context) => GestureDetector(
onVerticalDragDown: (_) {},
child: ...,
here 是 showModalBottomSheet
的文档。您可以随时点击 showModalBottomSheet
并自定义它。根据文档
BottomSheet, which becomes the parent of the widget returned by the function passed as the builder argument to showModalBottomSheet.
和 BottomSheet 有 enableDrag
参数。
自 2020 年 5 月 6 日起,flutter v1.17.1 enableDrag 在 showModalBottomSheet 上可用