class ListScreen extends StatelessWidget { final DataSource _dataSource = DataSource(); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('List Animation', style: TextStyle(fontWeight: FontWeight.bold)), ), body: FutureBuilder>( initialData: [], future: _dataSource.getCountriesFuture(), builder: (context, snapshot) { final List countries = snapshot.data; return LiveList( itemCount: countries.length, itemBuilder: (context, index, animation) { return FadeTransition( opacity: animation, child: SlideTransition( position: Tween( begin: Offset(0, 0.3), end: Offset.zero, ).animate(animation), child: ListItem( title: countries[index], ), ), ); }, ); }, ), ); } }