Flutter 入门与实战(十一):底部弹窗ModelBottomSheet详解

本文详细介绍了Flutter中ModelBottomSheet的使用,包括基本使用、全屏弹窗和自定义弹窗的实现。通过示例代码展示了如何创建带有标题、关闭按钮和圆角效果的自定义底部弹窗,以及如何处理点击事件和接收返回结果。
摘要由CSDN通过智能技术生成

最终实现效果如图片所示,分布演示了基础的,全屏的和自定义的底部弹窗形式。 BottomModelSheet.gif

代码结构

在消息页面 message.dart 中,使用 Column 组件构建了三个按钮,点击每个按钮调用不同的底部弹窗显示。这部分代码不展示,核心注意的方式是按钮的 onPressed 响应方法,需要使用 async 修饰,这是因为 ModalBottomSheet 的返回结果是一个 Future 对象,需要通过 await 来获取返回结果。

onPressed: () async {
int selectedIndex = await _showCustomModalBottomSheet(context, _options);
print(“自定义底部弹层:选中了第$selectedIndex个选项”);
},
//…

基本使用

基本使用对于全屏和默认只差一个参数,演示代码中,我们使用了一组模拟的数据构建选项数据,然后再传给显示底部弹窗的方法,实际这组数据大部分是从后台获取的。当 isScrollControlledtrue 时,则是全屏弹窗,默认是 false

Future _showBasicModalBottomSheet(context, List options) async {
return showModalBottomSheet(
isScrollControlled: false,
context: context,
builder: (BuildContext context) {
return ListView.builder(
itemBuilder: (BuildContext context, int index) {
return ListTile(
title: Text(options[index]),
o

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值