一切皆为widget
Widget是Flutter应用程序用户界面的基本构建块。每个Widget都是用户界面一部分的不可变声明。 与其他将视图、控制器、布局和其他属性分离的框架不同,Flutter具有一致的统一对象模型:widget。
Widget可以被定义为:
- 一个结构元素(如按钮或菜单)
- 一个文本样式元素(如字体或颜色方案)
- 布局的一个方面(如填充)
Widget树
image.png分层的框架
image.png// main.dart文件内容
import 'package:flutter/material.dart';
void main() => runApp(new MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'Flutter Demo',
theme: new ThemeData(
primarySwatch: Colors.blue,
),
home: new Scaffold(
appBar: new AppBar(
title: new Text('First App')
),
body: new Center(
child: new Text('Hello world'),
),
),
);
}
}
MyApp是我们自定义的一个类,它继承自StatelessWidget,代表它是一个无状态的组件,UI不会发生改变。build方法是父类的一个方法,被MyApp类重写了,继承自StatelessWidget的类必须实现build方法并返回一个Widget对象。
网友评论