很多app打开会有红包悬浮在某个角落,然后为了吸引注意力,会将红包晃动起来,这个效果非常简单,代码如下:
class RedPackageSmall extends StatefulWidget{ @override State<StatefulWidget> createState() { return _RedPackageSmall(); } } class _RedPackageSmall extends State<RedPackageSmall> with SingleTickerProviderStateMixin{ Animation _animation; AnimationController _animationController; @override void initState() { super.initState(); _animationController = AnimationController( vsync: this, duration: Duration(milliseconds:200), reverseDuration: Duration(milliseconds: 200), ); _animation = Tween( begin: -0.03, end: 0.03 ).animate(_animationController); } @override void dispose() { _animationController.dispose(); super.dispose(); } @override Widget build(BuildContext context) { _animationController.repeat(reverse: true); return RotationTransition( turns: _animation, child: TextButton( onPressed: (){ ... }, child: Image.asset("红包图片"), ), ); } }