import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
// TODO: implement build
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('FlutterDemo')),
body: HomeContent(),
));
}
}
我们在创建flutter项目后,系统会为我们自动生成上述代码,接下来我和大家一起来分析一下上述代码的含义.
import 'package:flutter/material.dart';
此行代码是导入了material的UI组件库,material作为一种标准的移动端和web端的视觉设计语言,flutter默认为开发者提供了一套丰富的material风格的UI组件.
void main() => runApp(MyApp());
此处是应用的入口,和C C++一样,main函数中调用了runApp方法,他的功能是启动flutter应用,runApp接受一个widget参数,在本示例中它是一个MyApp对象,
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
// TODO: implement build
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('FlutterDemo')),
body: HomeContent(),
));
}
}
- MyApp其实也是一个类,它是继承自StatelessWidget,其本质也是widget
- flutter在构建页面时候,会调用组件的build方法,widget主要是提供一个build()方法来描述如何构建UI界面
- MaterialApp是Material框架中提供的flutter App框架,通过他可以设置应用名称,主题,语言,
- home为flutter应用的首页,他也是一个widget