我有一个Future
,它返回一个List
并使用FutureBuilder
,并在其中包含一个ListView.builder
,显示了从Future
获得的数据。
但是问题是,每当Future
返回数据时,我的小部件列表就直接弹出到屏幕中。我想给它一个不应该手动触发的动画(淡入淡出或弯曲),相反,我希望当我从Future
获得数据时,我的列表不会直接弹出到屏幕上,但会有一些延迟/淡入淡出/曲线或其他任何动画。
我该如何实现?
答案 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]);
},
),
);
},
)
),