添加动态组建
添加动态组建需要建立两个类。一个StatefulWidget类,一个State 类。前者是后者的一个实例。而且,前者是不可变的,后者在前者的生存周期内一直保持存在。
第一个类内容较少,比较容易实现
class RandomWords extends StatefulWidget {
@override
RandomWordsState createState() => new RandomWordsState();
}
解释:从代码中可以看出,这个类继承自动态组建(StatefulWidget),类中只实现了一个第二个类的一个类实例。
createState()
为组建创建一个可变的“状态”,
下面创建第二个类
class RandomWordsState extends State<RandomWords> {
@override // Add from this line ...
Widget build(BuildContext context) {
final WordPair wordPair = new WordPair.random();
return new Text(wordPair.asPascalCase);
} // ... to this line.
}
代码中给第二个类添加了build函数。
从之前的代码中移除一些不需要的代码
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
final WordPair wordPair = new WordPair.random(); # 去掉
return new MaterialApp(
title: 'Welcome to Flutter',
home: new Scaffold(
appBar: new AppBar(
title: new Text('Welcome to Flutter'),
),
body: new Center(
//child: new Text(wordPair.asPascalCase), # 去掉
child: new RandomWords(), # 添加
),
),
);
}
}
这里可以发现,代码中的类也可以作为函数使用。
动态组件
本文介绍如何使用StatefulWidget和State类创建动态组件。通过实例演示了如何构建可变状态,并将其应用于具体的UI展示。
2398

被折叠的 条评论
为什么被折叠?



