1. import 'package:flutter/material.dart';
    2. void main() => runApp(MyApp());
    3. class MyApp extends StatelessWidget {
    4. @override
    5. Widget build(BuildContext context) {
    6. // TODO: implement build
    7. return MaterialApp(
    8. home: Scaffold(
    9. appBar: AppBar(title: Text('FlutterDemo')),
    10. body: HomeContent(),
    11. ));
    12. }
    13. }

    我们在创建flutter项目后,系统会为我们自动生成上述代码,接下来我和大家一起来分析一下上述代码的含义.

    1. import 'package:flutter/material.dart';

    此行代码是导入了material的UI组件库,material作为一种标准的移动端和web端的视觉设计语言,flutter默认为开发者提供了一套丰富的material风格的UI组件.

    1. void main() => runApp(MyApp());

    此处是应用的入口,和C C++一样,main函数中调用了runApp方法,他的功能是启动flutter应用,runApp接受一个widget参数,在本示例中它是一个MyApp对象,

    1. class MyApp extends StatelessWidget {
    2. @override
    3. Widget build(BuildContext context) {
    4. // TODO: implement build
    5. return MaterialApp(
    6. home: Scaffold(
    7. appBar: AppBar(title: Text('FlutterDemo')),
    8. body: HomeContent(),
    9. ));
    10. }
    11. }
    1. MyApp其实也是一个类,它是继承自StatelessWidget,其本质也是widget
    2. flutter在构建页面时候,会调用组件的build方法,widget主要是提供一个build()方法来描述如何构建UI界面
    3. MaterialApp是Material框架中提供的flutter App框架,通过他可以设置应用名称,主题,语言,
    4. home为flutter应用的首页,他也是一个widget