android 底部弹窗失效,[flutter]设置底部弹窗点击外部不消失,兼容ios CupertinoScaffold与android Scaffold...

freddon

发表于2019-08-13

阅读 2209 |

评论 0

默认showModalBottomSheet底部弹窗,点击以外的蒙层会造成弹窗关闭,于是采用showBottomSheet来实现。

默认的showModalBottomSheet是这样:

```

showModalBottomSheet(

builder:(BuildContext rootContext) =>

StatefulBuilder(builder: (context, dialogSetState) {

var height = MediaQuery.of(rootContext).viewInsets.bottom;

setDialogState = dialogSetState;

dialogVisible = true;

return Material(

color: UIColor.whiteBgColor,

child: SingleChildScrollView(

child: new AnimatedPadding(

padding: EdgeInsets.only(

bottom: keyboardIsVisible

? height

: kToolbarHeight), //MediaQuery.of(context).viewInsets, //边距(必要)

duration:

const Duration(milliseconds: 100), //时常 (必要)

child:

dialogContentView(rootContext, dialogSetState)),

));

}),

elevation: 10)

```

替换成showBottomSheet之后,报错:

```

flutter: ══╡ EXCEPTION CAUGHT BY GESTURE ╞═══════════════════════════════════════════════════════════════════

flutter: The following assertion was thrown while handling a gesture:

flutter: No Scaffold widget found.

flutter: Flutter

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值