了解 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 是另一个函数。

是的,它非常复杂。