我有一个简单的应用程序,正在ListView
使用gestureDetector
. 我想要实现的是,当页面加载到应用程序上时,项目会出现淡入效果,因此它会显示第一个项目,然后显示第二个项目,依此类推。(具有平滑效果)。
我有以下代码:
enum _AniProps { opacity, translateX }
class FadeIn extends StatelessWidget {
final double delay;
final Widget child;
FadeIn(this.delay, this.child);
@override
Widget build(BuildContext context) {
final tween = MultiTween<_AniProps>()
..add(_AniProps.opacity, 0.0.tweenTo(1.0))
..add(_AniProps.translateX, 130.0.tweenTo(0.0));
return PlayAnimation<MultiTweenValues<_AniProps>>(
delay: (300 * delay).round().milliseconds,
duration: 500.milliseconds,
tween: tween,
child: child,
builder: (context, child, value) => Opacity(
opacity: value.get(_AniProps.opacity),
child: Transform.translate(
offset: Offset(value.get(_AniProps.translateX), 0),
child: child,
),
),
);
}
}
Run Code Online (Sandbox Code Playgroud)
我用这个 FadeIn 小部件包装每个 ListItems,每个 ListItems 都有不同的延迟。
前任:
淡入(1.0,GestureDector(.................)),
我得到的错误如下:
"lib/FadeIn.dart:17:36: Error: The method 'tweenTo' isn't defined for the class 'double'.
Try correcting the name to the name of an existing method, or defining a method named 'tweenTo'.
..add(_AniProps.opacity, 0.0.tweenTo(1.0))"
Run Code Online (Sandbox Code Playgroud)
请帮忙。
小智 6
我面临着类似的问题。我不明白为什么没有定义 'tweenTo',但尝试:Tween(begin: 0.0, end: 1.0)
and Tween(begin: 130.0, end: 0.0)
,看看它是否有帮助。
归档时间: |
|
查看次数: |
695 次 |
最近记录: |