当前位置:   article > 正文

Flutter Drawer 侧滑菜单、抽屉_flutter 抽屉侧滑菜单

flutter 抽屉侧滑菜单

Drawer 与Scaffold一起使用。是Scaffold中drawer属性。drawer通常是一个ListView,它的第一个子视图是一个DrawerHeader,但我们通常使用UserAccountsDrawerHeader显示当前用户的状态信息。其余的drawer子元素通常由ListTile构造,通常以AboutListTile结束。 

可以使用Navigator.pop(context)主动关闭Drawer。

参数讲解

属性

说明

Drawer 
elevation背景高度
child子组件
semanticLabel标签
UserAccountsDrawerHeader
decoration头部装饰
margin外边距  默认8.0
currentAccountPicture主图像
otherAccountsPictures附图像
accountName标题
accountEmail副标题
onDetailsPressed点击监听

代码示例

简单创建侧滑菜单

  1. return Scaffold(
  2. appBar: AppBar(title: Text('Flutter Drawer'),),
  3. drawer: Drawer(
  4. child:Container(
  5. alignment: Alignment.center,
  6. child: Text('我是Drawer',style: TextStyle(fontSize: 30),),
  7. ),
  8. ),
  9. body: Container(
  10. alignment: Alignment.center,
  11. child: Text('data')
  12. ),
  13. );

 进阶

  1. drawer: Drawer(
  2. child: ListView(
  3. children: <Widget>[
  4. UserAccountsDrawerHeader(
  5. accountEmail: Text('wo shi Email'),
  6. accountName: Text('我是Drawer'),
  7. onDetailsPressed: () {},
  8. currentAccountPicture: CircleAvatar(
  9. backgroundImage: AssetImage('images/ab.jpg'),
  10. ),
  11. ),
  12. ListTile(
  13. title: Text('ListTile1'),
  14. subtitle: Text('ListSubtitle1',maxLines: 2,overflow: TextOverflow.ellipsis,),
  15. leading: CircleAvatar(child: Text("1")),
  16. onTap: (){Navigator.pop(context);},
  17. ),
  18. Divider(),//分割线
  19. ListTile(
  20. title: Text('ListTile2'),
  21. subtitle: Text('ListSubtitle2',maxLines: 2,overflow: TextOverflow.ellipsis,),
  22. leading: CircleAvatar(child: Text("2")),
  23. onTap: (){Navigator.pop(context);},
  24. ),
  25. Divider(),//分割线
  26. ListTile(
  27. title: Text('ListTile3'),
  28. subtitle: Text('ListSubtitle3',maxLines: 2,overflow: TextOverflow.ellipsis,),
  29. leading: CircleAvatar(child: Text("3")),
  30. onTap: (){Navigator.pop(context);},
  31. ),
  32. Divider(),//分割线
  33. new AboutListTile(
  34. icon: new CircleAvatar(child: new Text("4")),
  35. child: new Text("AboutListTile"),
  36. applicationName: "AppName",
  37. applicationVersion: "1.0.1",
  38. applicationIcon: new Image.asset(
  39. 'images/bb.jpg',
  40. width: 55.0,
  41. height: 55.0,
  42. ),
  43. applicationLegalese: "applicationLegalese",
  44. aboutBoxChildren: <Widget>[
  45. new Text("第一条..."),
  46. new Text("第二条...")
  47. ],
  48. ),
  49. Divider(),//分割线
  50. ],
  51. ),
  52. ),

效果图

完整代码

查看完整代码

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/628172
推荐阅读
相关标签
  

闽ICP备14008679号