[英]The method 'MultiTrackTween' isn't defined for the type 'FadeAnimation'
import 'package:flutter/material.dart';
import 'package:flutter/animation.dart';
class FadeAnimation extends StatelessWidget {
final double delay;
final Widget child;
FadeAnimation(this.delay, this.child);
///build animation track
@override
Widget build(BuildContext context) {
final tween = MultiTrackTween([
Track("opacity")
.add(Duration(milliseconds: 500), Tween(begin: 0.0, end: 1.0)),
Track("translateY").add(
Duration(milliseconds: 500), Tween(begin: -30.0, end: 0.0),
curve: Curves.easeOut)
]);
/// fade animation controller
return ControlledAnimation(
delay: Duration(milliseconds: (500 * delay).round()),
duration: tween.duration,
tween: tween,
child: child,
builderWithChild: (context, child, animation) => Opacity(
opacity: animation["opacity"],
child: Transform.translate(
offset: Offset(0, animation["translateY"]), child: child),
),
);
}
}
MultiTrackTween MultiTrackTween 已重新設計為新的 MultiTween。 它具有相同的功能集,但更易於使用且完全類型安全。
查看 MultiTween README 了解更多詳情。>>> https://pub.dev/packages/sa_multi_tween
目前方法已經改變。
MultiTrackTween<\/code>更改為
MultiTween<\/code> ,
ControlledAnimation<\/code>更改為
PlayAnimation<\/code>等等。
請看下面的例子:
// Create your Animation Example
enum AniProps { opacity, translateY }
class FadeAnimation extends StatelessWidget {
final double delay;
final Widget child;
FadeAnimation(this.delay, this.child);
@override
Widget build(BuildContext context) {
final tween = MultiTween<AniProps>()
..add(AniProps.opacity, Tween(begin: 0.0, end: 1.0))
..add(AniProps.translateY, Tween(begin: -30.0, end: 0.0), Duration(milliseconds: 500), Curves.easeOut);
return PlayAnimation<MultiTweenValues<AniProps>>(
delay: Duration(milliseconds: (500 * delay).round()),
duration: tween.duration,
tween: tween,
child: child,
builder: (context, child, animation) => Opacity(
opacity: animation.get(AniProps.opacity),
child: Transform.translate(
offset: Offset(0, animation.get(AniProps.translateY)),
child: child
),
),
);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.