smooth_animated_listview 0.0.2
smooth_animated_listview: ^0.0.2 copied to clipboard
A Listview that handles animations for list item changes with smooth transitions. Simply pass your items and let the package handle all the animation logic for additions, removals and updates.
smooth_animated_list #
A Flutter package that provides an easy-to-use animated list with smooth transitions for item changes.
Features #
- Automatic animation of item additions and removals
- Smooth fade and size transitions
- Support for custom equality checks
- Type-safe implementation
- Simple API
Getting started #
Add to your pubspec.yaml:
dependencies:
smooth_animated_list: ^1.0.0
Usage #
Here's a simple example:
SmoothAnimatedList<String>
(
items: ['Item 1', 'Item 2', 'Item 3'],
itemBuilder: (context, item, animation) {
return SlideTransition(
position: Tween<Offset>(
begin: const Offset(1, 0),
end: Offset.zero,
).animate(animation),
child: Card(
child: ListTile(
title: Text(item),
),
),
);
},
);
For objects with custom equality:
class Item {
final String id;
final String title;
Item(this.id, this.title);
}
SmoothAnimatedList<Item>
(
items: [
Item('1', 'Item 1'),
Item('2', 'Item 2'),
Item('3', 'Item 3'),
],
itemBuilder: (context, item, animation) {
return SlideTransition(
position: Tween<Offset>(
begin: const Offset(1, 0),
end: Offset.zero,
).animate(animation),
child: Card(
child: ListTile(
title: Text(item.title),
),
),
);
},
areItemsTheSame: (oldItem, newItem) => oldItem.
id
==
newItem
.
id
,
);
Additional parameters #
duration: Animation duration (default: 300ms)areItemsTheSame: Custom equality check function
License #
MIT License - see LICENSE file for details