波纹动画颤动

编程入门 行业动态 更新时间:2024-10-07 14:24:12
本文介绍了波纹动画颤动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我想使用颤动创建涟漪动画。我已经知道涟漪效应,但这不是我想要的,我想要的是

AnimationController _controller; @override void initState(){ super.initState(); _controller = AnimationController( vsync:this, lowerBound:0.5, duration:Duration(seconds:3),).. repeat(); } @override 小部件构建(BuildContext上下文){ return Scaffold( appBar:AppBar(title:Text( Title)) ,正文:_buildBody(),); } 小部件_buildBody(){ return AnimatedBuilder(动画:CurvedAnimation(父级:_controller,曲线:Curves.fastOutSlowIn),构建器: (上下文,子项){ return Stack(alignment:Alignment.center,子项:< Widget> [ _buildContainer(150 * _controller.value), _buildContainer(200 * _controller.value), _buildContainer(250 * _controller.value), _buildContainer(300 * _controller.value), _buildContainer(350 * _controller.value), Align(child:Icon(Icons.phone_android,size:44,)),],); },); } 小部件_buildContainer(double radius){ return Container( width:radius, height:radius,装饰:BoxDecoration (形状:BoxShape.circle,颜色:Colors.blue.withOpacity(1-_controller.value),),); }

I want to create ripple animation using flutter. I already know ripple effect but this is not what I want , I want something which is here in the link

解决方案

Output

AnimationController _controller; @override void initState() { super.initState(); _controller = AnimationController( vsync: this, lowerBound: 0.5, duration: Duration(seconds: 3), )..repeat(); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: Text("Title")), body: _buildBody(), ); } Widget _buildBody() { return AnimatedBuilder( animation: CurvedAnimation(parent: _controller, curve: Curves.fastOutSlowIn), builder: (context, child) { return Stack( alignment: Alignment.center, children: <Widget>[ _buildContainer(150 * _controller.value), _buildContainer(200 * _controller.value), _buildContainer(250 * _controller.value), _buildContainer(300 * _controller.value), _buildContainer(350 * _controller.value), Align(child: Icon(Icons.phone_android, size: 44,)), ], ); }, ); } Widget _buildContainer(double radius) { return Container( width: radius, height: radius, decoration: BoxDecoration( shape: BoxShape.circle, color: Colors.blue.withOpacity(1 - _controller.value), ), ); }

更多推荐

波纹动画颤动

本文发布于:2023-08-03 06:34:57,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1284904.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:波纹   动画

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!