home.dart 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. import 'package:flutter/material.dart';
  2. class FMHomeVC extends StatefulWidget {
  3. @override
  4. FMHomeState createState() => FMHomeState();
  5. }
  6. class FMHomeState extends State<FMHomeVC> {
  7. var funcLists = [];
  8. @override
  9. void initState() {
  10. super.initState();
  11. initData();
  12. }
  13. void initData() {
  14. funcLists.add(
  15. {"name": "基础组件", "desc": "在构建您的第一个Flutter应用程序之前,您绝对需要了解这些widget。"});
  16. funcLists.add({
  17. "name": "Material Components",
  18. "desc": "实现了Material Design 指南的视觉、效果、motion-rich的widget。"
  19. });
  20. funcLists.add({
  21. "name": "Cupertino(iOS风格的widget)",
  22. "desc": "用于当前iOS设计语言的美丽和高保真widget。"
  23. });
  24. funcLists.add({
  25. "name": "Layout",
  26. "desc": "排列其它widget的columns、rows、grids和其它的layouts。"
  27. });
  28. funcLists.add({"name": "Text", "desc": "文本显示和样式。"});
  29. funcLists.add({"name": "Assets、图片、Icons", "desc": "管理assets, 显示图片和Icon。"});
  30. funcLists.add({
  31. "name": "Input",
  32. "desc": "Material Components 和 Cupertino中获取用户输入的widget。"
  33. });
  34. funcLists.add({"name": "动画和Motion", "desc": "在您的应用中使用动画。查看Flutter中的动画总览。"});
  35. funcLists.add({"name": "交互模型", "desc": "响应触摸事件并将用户路由到不同的页面视图(View)。"});
  36. funcLists.add({"name": "样式", "desc": "管理应用的主题,使应用能够响应式的适应屏幕尺寸或添加填充。"});
  37. funcLists.add(
  38. {"name": "绘制和效果", "desc": "Widget将视觉效果应用到其子组件,而不改变它们的布局、大小和位置。"});
  39. funcLists.add({"name": "Async", "desc": "Flutter应用的异步模型。"});
  40. funcLists.add({"name": "滚动", "desc": "滚动一个拥有多个子组件的父组件。"});
  41. funcLists.add({"name": "辅助功能", "desc": "给你的App添加辅助功能(这是一个正在进行的工作)。"});
  42. print(funcLists);
  43. setState(() {
  44. });
  45. }
  46. @override
  47. Widget build(BuildContext context) {
  48. // TODO: implement build
  49. return Container(
  50. child: Scaffold(
  51. backgroundColor: Colors.white,
  52. appBar: AppBar(
  53. backgroundColor: Colors.lightBlue,
  54. title: Text("Widgets 目录"),
  55. ),
  56. body: Center(
  57. child: ListView.builder(
  58. padding: const EdgeInsets.all(15.0),
  59. itemCount: funcLists.length,
  60. itemBuilder: (context, index) {
  61. var func = funcLists[index];
  62. return ListTile(
  63. contentPadding: const EdgeInsets.all(10.0),
  64. title: Text(
  65. "${func["name"]}",
  66. style: TextStyle(
  67. fontSize: 20,
  68. color: Colors.black,
  69. ),
  70. ),
  71. subtitle: Text(
  72. "${func["desc"]}",
  73. style: TextStyle(
  74. fontSize: 15,
  75. color: Colors.grey,
  76. ),
  77. ),
  78. onTap: () {
  79. Navigator.push(
  80. context,
  81. MaterialPageRoute(builder: (context) {
  82. return FMHomeVC();
  83. }),
  84. );
  85. },
  86. );
  87. },
  88. ),
  89. ),
  90. ),
  91. );
  92. }
  93. }