Liu*_*ong 4 flutter flutter-animation
大家好?我有一个问题,我不明白之间的差别AnimatedWidget和AnimatedBuilder。源码中的注释如下:
动画小部件:
/// For more complex case involving additional state, consider using
/// [AnimatedBuilder].
Run Code Online (Sandbox Code Playgroud)
动画生成器:
/// For simple cases without additional state, consider using
/// [AnimatedWidget].
Run Code Online (Sandbox Code Playgroud)
我想知道如何在它们之间进行选择,因为我不太了解文档,谢谢!
除了使用它所需的语法之外,它们之间没有真正的区别。
需要明确的是,这是以下代码AnimatedBuilder:
class AnimatedBuilder extends AnimatedWidget {
const AnimatedBuilder({
Key key,
@required Listenable animation,
@required this.builder,
this.child,
}) : assert(builder != null),
super(key: key, listenable: animation);
final TransitionBuilder builder;
final Widget child;
@override
Widget build(BuildContext context) {
return builder(context, child);
}
}
Run Code Online (Sandbox Code Playgroud)
...是的,什么都不做
从这段代码我们可以清楚地看到,这AnimatedBuilder只是 using 的不同语法AnimatedWidget。因为AnimatedBuilder是AnimatedWidget将所有布局逻辑委托给回调
所以最后,这真的取决于你。两者都做同样的事情。使用使它对您更具可读性的内容
| 归档时间: |
|
| 查看次数: |
2641 次 |
| 最近记录: |