flutter底部弹出BottomSheet怎么实现
发表于:2024-11-20 作者:千家信息网编辑
千家信息网最后更新 2024年11月20日,本篇内容介绍了"flutter底部弹出BottomSheet怎么实现"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,
千家信息网最后更新 2024年11月20日flutter底部弹出BottomSheet怎么实现
本篇内容介绍了"flutter底部弹出BottomSheet怎么实现"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
效果图:
ModalBottomSheet
这个ModalBottomSheet就是类似一个Dialog,有一个半透明的背景层,然后上面显示你自定义的内容。 用法非常简单,Flutter提供了一个showModalBottomSheet的方法弹出一个BottomSheet。
实现代码:
class AddExpense extends StatefulWidget { @override StatecreateState() => _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安全错误
数据库的锁怎样保障安全
未转化者怎么开服务器
戴尔r750服务器采购
如何查看服务器阵营人数
服务器开通端口号
台式机改服务器
互联网科技的业务
miui中空间管理服务器
公安网络安全授课内容
软件开发高端培训
山西定制网络技术开发哪家好
江苏应用软件开发哪家实惠
tcl电视时间同步服务器
网络安全法执行情况检查方案
腾讯云备案其他服务器不行吗
湖南工业软件开发直销价格
《中学生网络安全自我防护
软件开发的视频教程
安全级别 数据库a1级
华齐泰软件开发
软件开发人员工时单价标准
初中信息技术课件网络安全
云免服务器开端口
数据库集合运算实例
科目代码输入不了数据库
网络安全你我共建手抄报
我的世界超级活跃服务器
高一计算机网络技术实操考试步骤
手机贷款软件开发
赫子哥服务器ip
计算机网络技术题目简单