了解 Flutter 中的 animationItemBuilder
Understanding animationItemBuilder in Flutter
我正在尝试理解 Flutter 中的以下代码:
Widget Function(BuildContext context, int index, Animation<double> animation)
animationItemBuilder(Widget Function(int index) child,
{EdgeInsets padding = EdgeInsets.zero}) =>
(BuildContext context, int index, Animation<double> animation) =>
FadeTransition(
opacity: Tween<double>(begin: 0, end: 1).animate(animation),
child: SlideTransition(
position:
Tween<Offset>(begin: Offset(0, -0.1), end: Offset.zero)
.animate(animation),
child: Padding(
padding: padding,
child: child(index),
),
),
);
我显然是 Flutter 的新手,我试图理解上面的代码。在我的示例中,方法“animationItemBuilder”在 LiveList class 的 itemBuilder 方法中被调用。
Widget Function(BuildContext context, int index, Animation
animation)
是return类型的函数
animationItemBuilder(Widget Function(int index) child,
{EdgeInsets padding = EdgeInsets.zero})
是函数名和参数列表。
(BuildContext context, int index, Animation<double> animation) =>
FadeTransition(
opacity: Tween<double>(begin: 0, end: 1).animate(animation),
child: SlideTransition(
position:
Tween<Offset>(begin: Offset(0, -0.1), end: Offset.zero)
.animate(animation),
child: Padding(
padding: padding,
child: child(index),
),
),
);
是 returned 值。
基本上,这定义了一个名为 animationItemBuilder 的函数,它 return 是另一个函数。
是的,它非常复杂。
我正在尝试理解 Flutter 中的以下代码:
Widget Function(BuildContext context, int index, Animation<double> animation)
animationItemBuilder(Widget Function(int index) child,
{EdgeInsets padding = EdgeInsets.zero}) =>
(BuildContext context, int index, Animation<double> animation) =>
FadeTransition(
opacity: Tween<double>(begin: 0, end: 1).animate(animation),
child: SlideTransition(
position:
Tween<Offset>(begin: Offset(0, -0.1), end: Offset.zero)
.animate(animation),
child: Padding(
padding: padding,
child: child(index),
),
),
);
我显然是 Flutter 的新手,我试图理解上面的代码。在我的示例中,方法“animationItemBuilder”在 LiveList class 的 itemBuilder 方法中被调用。
Widget Function(BuildContext context, int index, Animation animation)
是return类型的函数
animationItemBuilder(Widget Function(int index) child, {EdgeInsets padding = EdgeInsets.zero})
是函数名和参数列表。
(BuildContext context, int index, Animation<double> animation) =>
FadeTransition(
opacity: Tween<double>(begin: 0, end: 1).animate(animation),
child: SlideTransition(
position:
Tween<Offset>(begin: Offset(0, -0.1), end: Offset.zero)
.animate(animation),
child: Padding(
padding: padding,
child: child(index),
),
),
);
是 returned 值。
基本上,这定义了一个名为 animationItemBuilder 的函数,它 return 是另一个函数。
是的,它非常复杂。