问题描述
我认为有时需要在@override构建方法中处理变量。
@override
Widget build(BuildContext context) {
Animation animationTitle1 = Tween<double>(begin: 0.0,end: 1.0).animate(
CurvedAnimation(
parent: widget.animationController,curve: Interval(0,1.0,curve: Curves.fastOutSlowIn)));
Animation animationTitle2 = Tween<double>(begin: 0.0,curve: Interval(0.2,curve: Curves.fastOutSlowIn)));
.
.
.
我不知道这在逻辑上是否有效? 但是以某种方式我需要这种逻辑来声明和管理@build方法中的多个变量。 一些要求,例如
- 动画对象 在某些情况下
- 手动调用流构建器窗口小部件以刷新数据
示例
@override
Widget build(BuildContext context) {
var streamBuilder = StreamBuilder(
stream: myStreamObj,builder: (BuildContext context,AsyncSnapshot<dynamic> snapshotVacchan) {
// my code
},);
return Column(
children: [
streamBuilder,FlatButton(
child: Text('Reload'),onpressed: () {
setState(() {
myStreamObj = newScreen;
});
}),],);
}
解决方法
据我所知,在build方法中声明或管理变量不是正确的编码方式。