【发布时间】:2019-02-08 07:33:35
【问题描述】:
import "package:flutter/material.dart";
import "dart:async";
class JoinScreen extends StatefulWidget {
@override
_JoinScreenState createState() {
return _JoinScreenState();
}
}
class _JoinScreenState extends State<JoinScreen> {
List<Widget> widgetList = [];
@override
void initState() {
new Timer(const Duration(milliseconds: 100), () {
print('timeout');
setState(() {
widgetList.add(secondHalf());
});
});
new Timer(const Duration(milliseconds: 1000), () {
print('timeout');
setState(() {
widgetList.add(firstHalf());
});
});
super.initState();
}
@override
Widget build(BuildContext context) {
return AnimatedContainer(
duration: Duration(seconds: 2),
child: Column(
children: widgetList,
),
);
}
Widget firstHalf() {
return Expanded(
child: Container(
decoration: BoxDecoration(color: Colors.blueAccent),
),
);
}
Widget secondHalf() {
return Expanded(
child: Container(
decoration: BoxDecoration(color: Colors.pinkAccent),
),
);
}
}
如果我在计时器和 setstate 的帮助下更改了容器的宽度和高度,它会生成动画。但是当向构建函数添加两个新的小部件列表时,没有任何动画。
我想要一个展开的动画。因为我使用的是展开式,所以我无法给出展开后没有意义的特定高度。
我该怎么做?
【问题讨论】: