class _MyHomePageState extends State with TickerProviderStateMixin {
AnimationController _controller;
Animation _animationBS;
AnimationController _controllerColor;
Animation<Color> _animation;
@override
void initState() {
// TODO: implement initState
super.initState();
_controller = AnimationController(
vsync: this,
duration: Duration(milliseconds: 1000));
_controller.addListener(() {
setState(() {//这里一定要设置setState,不然变大缩小动画不生效
});
});
_animationBS =Tween(begin: 50.0,end: 100.0).chain(CurveTween(curve: Curves.easeOut)).animate(_controller);
_controllerColor = AnimationController(
vsync: this, duration: Duration(milliseconds: 1000));
_animation = ColorTween(begin: Colors.blue,end: Colors.amber).animate(_controllerColor);
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
child: Center(
child: InkWell(
onTap: () {
if (_controller.isDismissed) {
_controller.forward();
} else {
_controller.reverse();
}
if (_controllerColor.isDismissed) {
_controllerColor.forward();
} else {
_controllerColor.reverse();
}
},
child: Container(
width: _animationBS.value,
height: _animationBS.value,
decoration: BoxDecoration(shape: BoxShape.circle ,color: _animation.value),
),
),
),
),
);
}
@override
void dispose() {
super.dispose();
_controller.dispose();
_controllerColor.dispose();
}
}
Flutter的Animation简单用法
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。