Flutter 如何使FloatingActionButton设置动画?
我想让我的Flutter 如何使FloatingActionButton设置动画?,flutter,dart,Flutter,Dart,我想让我的FloatingActionButtons颜色不间断地改变,或者让我的FloatingActionButton变大而不是缩小,这样它看起来就像一个动画,可以引起用户的注意 我怎样才能做到这一点?不使用setState()的任何解决方案\u Delet2State(); } 类_Delet2State使用SingleTickerProviderStateMixin扩展状态{ AnimationController _AnimationController; 动画; @凌驾 void in
FloatingActionButtons
颜色不间断地改变,或者让我的FloatingActionButton
变大而不是缩小,这样它看起来就像一个动画,可以引起用户的注意
我怎样才能做到这一点?不使用
setState()的任何解决方案如果有任何代码,我们将不胜感激。您可以使用AnimationController来完成
class Delet2 extends StatefulWidget {
@override
_Delet2State createState() => _Delet2State();
}
class _Delet2State extends State<Delet2> with SingleTickerProviderStateMixin {
AnimationController _animationController;
Animation animation;
@override
void initState() {
super.initState();
_animationController =
AnimationController(vsync: this, duration: Duration(seconds: 1));
animation = ColorTween(begin: Colors.red, end: Colors.amber)
.animate(_animationController);
_animationController.repeat();
_animationController.addListener(() {
setState(() {});
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
floatingActionButton: FloatingActionButton(
onPressed: () {},
backgroundColor: animation.value,
),
);
}
}
类Delet2扩展StatefulWidget{
@凌驾
_Delet2State createState()=>\u Delet2State();
}
类_Delet2State使用SingleTickerProviderStateMixin扩展状态{
AnimationController _AnimationController;
动画;
@凌驾
void initState(){
super.initState();
_动画控制器=
AnimationController(vsync:this,duration:duration(秒数:1));
动画=ColorTween(开始:Colors.red,结束:Colors.amber)
.设置动画(_animationController);
_animationController.repeat();
_animationController.addListener((){
setState((){});
});
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
浮动操作按钮:浮动操作按钮(
按下:(){},
背景颜色:animation.value,
),
);
}
}
您能补充一下不调用setState是什么意思吗?因为如果您想更改任何内容,那么您需要setState。显然。任何答案都会有帮助。如果您可以帮助我设置状态,那么我可以使用状态管理对其进行重构。我不喜欢设置状态的原因是我的应用程序非常复杂,因此,我想,每100毫秒重建一次整个小部件树可能会影响我的应用程序的性能。