flutter底部弹出BottomSheet怎么实现
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容介绍了"flutter底部弹出BottomSheet怎么实现"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,
千家信息网最后更新 2026年11月03日flutter底部弹出BottomSheet怎么实现
本篇内容介绍了"flutter底部弹出BottomSheet怎么实现"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
效果图:
ModalBottomSheet
这个ModalBottomSheet就是类似一个Dialog,有一个半透明的背景层,然后上面显示你自定义的内容。 用法非常简单,Flutter提供了一个showModalBottomSheet的方法弹出一个BottomSheet。
实现代码:
class AddExpense extends StatefulWidget { @override State createState() => _AddExpensePage();}class _AddExpensePage extends State { List typeList = List(); Search _search; bool _typeCheck = false; @override void initState() { // TODO: implement initState super.initState(); _loadType(); } @override Widget build(BuildContext context) { // TODO: implement build return Column( children: [ Card( child: Row( children: [ SizedBox( width: 16.0, ), Text('报销类型:', style: TextStyle(fontSize: 16)), Expanded( child: ListTile( title: Text( _search.code ?? "报销类型", ), trailing: _typeCheck ? Icon(Icons.keyboard_arrow_up) : Icon(Icons.keyboard_arrow_down), onTap: () { setState(() { _typeCheck = !_typeCheck; }); showModalBottomSheet( context: context, builder: (BuildContext context) { return ListView.separated( itemCount: typeList.length, separatorBuilder: (context, index) { return Divider(); }, itemBuilder: (context, index) { return ListTile( title: Text(typeList[index].code), trailing: Offstage( offstage: typeList[index].check ? false : true, child: Icon(Icons.check), ), onTap: () { for (int i = 0; i < typeList.length; i++) { i != index ? typeList[i].check = false : typeList[i].check = true; } _search = typeList[index]; Navigator.pop(context); }, ); }, ); }, ).then((val) { setState(() { _typeCheck = !_typeCheck; }); }); }, ), ) ], ), ), ], ); } void _loadType() { String jsonData = '[{"code":"差旅费报销单","check":true},{"code":"一般费用报销单","check":false},{"code":"因公临时出国(境)支出表","check":false},{"code":"药费报销单","check":false},{"code":"合同付款审批表","check":false},{"code":"工资系统专用报销表","check":false}]'; List list = json.decode(jsonData); list.forEach((element) { Search search = Search.fromJson(element); if (search.check) { setState(() { _search = search; }); } typeList.add(search); }); }} "flutter底部弹出BottomSheet怎么实现"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
内容
底部
更多
知识
类型
实用
学有所成
接下来
代码
合同
困境
实际
就是
工资
差旅
差旅费
情况
效果
效果图
文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
中智农互联网科技
哈尔滨大商圈互联网科技有限公司
科技互联网龙头
喔噻互联网科技
互联网科技排名
壹账通互联网科技
时间互联网络科技
深圳天众互联网科技公司
互联网前沿科技
科技伦理 互联网公司
盛创互联网科技有限公司
广西拼得多互联网科技有限公司
受益于互联网科技的高速发展
中国航天科技大学国际工业互联网
华夏恒生科技与互联网科技
威龙国际互联网科技公司
广州燕处互联网科技有限公司
中国互联网公司的科技投入
陕西彩京云互联网科技有限公司
每日互联网科技新闻
互联网科技公司有哪些
互联网公司会议桌创意科技软装饰
恒银科技与互联网金融
互联网科技公司营业执照怎么办理
互联网科技股为什么大涨
南京一网一红互联网科技有限公司
江苏互联网智能科技产品出厂价
互联网科技机房
广西科技产业互联网是什么
深圳互联网科技园地址