return new Transform(
transform: transform,
alignment: alignment,
child: child,
);
}
}
接下来就是自定义黑胶唱头组件。
final _rotateTween = new Tween(begin: -0.15, end: 0.0);
new Container(
child: new PivotTransition(
turns: _rotateTween.animate(controller_needle),
alignment: FractionalOffset.topLeft,
child: new Container(
width: 100.0,
child: new Image.asset(“images/play_needle.png”),
),
),
),
将png图片包裹在container内作为child参数传递给PivotTransition
。
外部使用的时候传入一个Tween,起始位置为-0.15 ~ 0.0。
3.黑胶唱片的旋转动画
这部分代码在record_anim.dart
文件内。使用了package:flutter/animation.dart
提供的RotationTransition
做旋转,很简单。
class RotateRecord extends AnimatedWidget {
RotateRecord({Key key, Animation animation})
: super(key: key, listenable: animation);
Widget build(BuildContext conte