class _MaintenanceState extends State<Maintenance> {
下面的函数应该初始化动画
@override
void initState() {
super.initState();
_animate();
}
var loginWidth = 0.0;
Curve _curve = Curves.fastOutSlowIn;
_animate() {
setState(() {
loginWidth == 0.0 ? loginWidth = 130 : loginWidth = 0.0;
});
}
我尝试将动画容器的宽度放置在
initState
,但它仍然没有动画。
AnimatedContainer(
duration: Duration(seconds: 1),
width: loginWidth,
height: 60.0,
decoration: BoxDecoration(
color: Colors.green[600],
borderRadius: BorderRadius.circular(20.0),
),
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Row(
children: [
Text("Add nProject"),
)),
Spacer(),
Image(
image: AssetImage(
"assets/images/add_icon.png",
),
),
],
),
),
),
如有任何建议,将不胜感激
制作动画需要考虑以下几点。
- 使用AnimationController跟踪动画的当前状态,设置要设置动画的持续时间,如果要添加到动画中,还可以设置其他几个属性
- 如果你在使用动画,你必须在你的类中使用SingleTikerProviderStateMixin或MultiTikerProviderstateMixin混合
我正在分享我的GitHub项目链接,其中我使用了一个简单的动画,你可以参考它。