使用Material Design的移动应用程序具有两个主要的导航选项。这些导航是“Tabs和Drawers”。Drawer是tabs的替代选项,因为有时移动应用程序没有足够的空间来显示选项卡(Tabs)。
步骤1:在IDE中创建一个Flutter项目。在这里,无涯教程将使用Android Studio。
步骤2:在Android Studio中打开项目并导航到 lib 文件夹。在此文件夹中,打开main.dart文件。
步骤3:在main.dart文件中,在脚手架小部件中创建一个drawer,如下所示。
Scaffold( drawer: Drawer( child://通过在下一步中添加内容来填充。 ) );
步骤4:接下来,无涯教程需要在抽屉中添加内容。在此示例中,无涯教程将使用Listview小部件,如果内容不适合屏幕支持,则允许用户在抽屉中滚动。以下代码对其进行了更清晰的说明。
Drawer( child: ListView( padding: EdgeInsets.zero, children: <Widget>[ DrawerHeader( child: Text('Drawer Header'), decoration: BoxDecoration( color: Colors.blue, ), ), ListTile( title: Text('Item 1'), onTap: () { //更新应用程序的状态。 //... }, ), ListTile( title: Text('Item 2'), onTap: () { //更新应用程序的状态。 //... }, ), ], ), );
步骤5:最后,关闭抽屉。无涯教程可以通过使用 navigator 来完成此操作。
让无涯教程查看上述步骤的完整代码。打开main.dart文件并替换以下代码。
import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { final appTitle = 'Flutter Drawer Demo'; @override Widget build(BuildContext context) { return MaterialApp( title: appTitle, home: MyHomePage(title: appTitle), ); } } class MyHomePage extends StatelessWidget { final String title; MyHomePage({Key key, this.title}) : super(key: key); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: Text(title)), body: Center(child: Text( 'A drawer is an invisible side screen.', style: TextStyle(fontSize: 20.0), ) ), drawer: Drawer( child: ListView( //Important:从 ListView 中删除任何填充。 padding: EdgeInsets.zero, children: <Widget>[ UserAccountsDrawerHeader( accountName: Text("Abhishek Mishra"), accountEmail: Text("abhishekm977@gmail.com"), currentAccountPicture: CircleAvatar( backgroundColor: Colors.orange, child: Text( "A", style: TextStyle(fontSize: 40.0), ), ), ), ListTile( leading: Icon(Icons.home), title: Text("Home"), onTap: () { Navigator.pop(context); }, ), ListTile( leading: Icon(Icons.settings), title: Text("Settings"), onTap: () { Navigator.pop(context); }, ), ListTile( leading: Icon(Icons.contacts), title: Text("Contact Us"), onTap: () { Navigator.pop(context); }, ), ], ), ), ); } }
现在,在Android Studio中运行应用程序。它将提供以下屏幕。
当您单击以上屏幕的左上角时,您可以看到抽屉向左滑动,该抽屉通常包含应用程序中的重要链接,并占据屏幕的一半。
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)
深入浅出分布式技术原理 -〔陈现麟〕
大型Android系统重构实战 -〔黄俊彬〕
全网赚钱可参考案例库 -〔生财王子〕
成为学霸:一学就会的背书方法 -〔行动社交找潇潇〕
《女性自我成长手册》 -〔CoCo陶可可〕
ChatGPT➕AI绘画|项目淘金 -〔Eric〕
播客制作手册(2023版) -〔zac〕
能量邪神 -〔黄晓旭〕
前端全链路优化实战课 -〔唐俊开〕
玻璃钢生产厂家临汾玻璃钢雕塑价格银川公园玻璃钢雕塑宿州佛像玻璃钢雕塑厂家直销的商场美陈湖北玻璃钢雕塑厂家定制园林玻璃钢人物雕塑销售方法郑州景观玻璃钢雕塑郑州房地产水景玻璃钢仿铜雕塑厂南京玻璃钢雕塑有哪些玻璃钢雕塑几厘米厚重庆玻璃钢人物雕塑沈阳玻璃钢花盆批发价格公仔玻璃钢动物雕塑包括哪些湖南玻璃钢浮雕抽象雕塑玻璃钢雕塑卡通性价比哪个好玻璃钢雕塑生产厂家招聘信息广州古代玻璃钢人物雕塑郑州玻璃钢浮雕铜雕塑生产厂家商场潮玩美陈呼市雕塑玻璃钢力推漯河商场美陈雕塑厂家山东玻璃钢鹿雕塑玻璃钢景观雕塑服务商怎么样杭州人物玻璃钢雕塑厂家内销玻璃钢雕塑厂家漯河花朵玻璃钢雕塑衡阳玻璃钢座椅雕塑制作珠海祥云玻璃钢花盆哪里有玻璃钢园林景观雕塑厂家附近玻璃钢雕塑艺术制作厂家香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万