flutter底部弹出BottomSheet怎么实现
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,本篇内容介绍了"flutter底部弹出BottomSheet怎么实现"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,
千家信息网最后更新 2025年01月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安全错误
数据库的锁怎样保障安全
网络安全运维系统网站
客户服务器模型中客户指的是
软件开发业务调研岗位职责
上海数据网络技术服务技术
一键小巧的数据库搭建工具
数据库操作失败后怎么重做
软件开发工种能工作到多大年龄
威海生鲜软件开发
dms 新建数据库
学软件开发必看的书籍
皇族网络技术被骗
网络安全产品是什么
长春智能网络技术服务诚信经营
全国软件开发权威学校排名
网络安全从业人员培训制度
法院网络安全等级保护
银行网络安全专项治理自查
中国网络安全小组长
软件开发工种分类
网络技术理论重要吗
西安网络安全周嘉宾
税务网络安全工作汇报
芜湖erp软件开发费用多少
2015年网络安全会议
网络安全学习手指操
rdf数据库
广西应用软件开发费用
c贝斯数据库
java读入字符串数据库
立足专业领域服务网络安全