如何在Flutter中自动为小部件设置动画?

时间:2020-04-17 14:41:50

标签: flutter dart

我有一个Future,它返回一个List并使用FutureBuilder,并在其中包含一个ListView.builder,显示了从Future获得的数据。

但是问题是,每当Future返回数据时,我的小部件列表就直接弹出到屏幕中。我想给它一个不应该手动触发的动画(淡入淡出或弯曲),相反,我希望当我从Future获得数据时,我的列表不会直接弹出到屏幕上,但会有一些延迟/淡入淡出/曲线或其他任何动画。

我该如何实现?

1 个答案:

答案 0 :(得分:0)

您可以使用不透明动画,here可以看到一个示例。 然后您可以设置

bool _visible = true;   //Put this inside your initState


            AnimatedOpacity(
                opacity: _visible ? 1.0 : 0.0,
                duration: Duration(milliseconds: 500),
                child:ListView.builder(
                  itemCount: count,
                  padding: EdgeInsets.all(10.0),
                  itemBuilder: (BuildContext context, int position) {
                                       return Card(
                      color: Colors.white,
                      elevation: 2.0,
                      child: ListTile(
                        title: Text(this.list[position].name),
                        subtitle: Text(this.list[position].type),
                        trailing: GestureDetector(
                          child: Icon(Icons.delete, color: Colors.grey,),
                          onTap: () {
                              _delete(context, list[position]);
                          },
                        ),
                        onTap: () {
                          debugPrint("ListTile Tapped");
                          navigateToDetail(this.list[position]);
                        },

                      ),
                    );
                  },
                )
            ),