filter bar: apply curve to removal animation

This commit is contained in:
Thibault Deckers 2020-08-02 18:05:49 +09:00
parent 408afd4c9d
commit 05917e08cc
2 changed files with 6 additions and 3 deletions

View file

@ -11,7 +11,7 @@ class Durations {
// collection animations
static const appBarTitleAnimation = Duration(milliseconds: 300);
static const filterBarRemovalAnimation = Duration(milliseconds: 200);
static const filterBarRemovalAnimation = Duration(milliseconds: 400);
static const collectionOpOverlayAnimation = Duration(milliseconds: 300);
static const collectionScalingBackgroundAnimation = Duration(milliseconds: 200);
static const sectionHeaderAnimation = Duration(milliseconds: 200);

View file

@ -45,7 +45,9 @@ class _FilterBarState extends State<FilterBar> {
listState.removeItem(
index,
animate
? (context, animation) => FadeTransition(
? (context, animation) {
animation = animation.drive(CurveTween(curve: Curves.easeInOutBack));
return FadeTransition(
opacity: animation,
child: SizeTransition(
axis: Axis.horizontal,
@ -55,7 +57,8 @@ class _FilterBarState extends State<FilterBar> {
child: _buildChip(filter),
),
),
)
);
}
: (context, animation) => _buildChip(filter),
duration: animate ? Durations.filterBarRemovalAnimation : Duration.zero,
);