Как анимировать элементы в Flutter SliverList?
У меня есть SliverList
который я использую с SliverAppBar
для анимации панели приложения, когда пользователь прокручивает список (на самом деле стандартный вариант использования осколков, ничего особенного).
Теперь я хочу добавить анимацию к элементам в SliverList
. Например, горизонтальные переходы слайдов при добавлении элементов или своего рода вертикальное "перемешивание" между элементами при изменении порядка списка. ВAnimatedList
предлагает некоторые из этих функций, но не SliverList.
Насколько я понимаю, фреймворк, вероятно, можно было бы обернуть элементы, предоставленные в SliverList
в пределах AnimatedWidget
(или аналогичный виджет) для анимации изменений. Однако мои знания об анимации Flutter все еще слишком новы, поэтому я прошу помощи.
Вот часть моего кода. Я бы хотел оживитьGameScoreWidget
примеры ниже.
SliverList(
delegate: SliverChildBuilderDelegate((BuildContext context, int index) {
if (index == 0) {
return ListReorderWidget(viewModel: viewModel);
}
else if (!viewModel.isLatestGame(index-1)) {
return GameScoreWidget(position: index-1, viewModel: viewModel);
}
else
return Dismissible(
direction: DismissDirection.endToStart,
child: GameScoreWidget(position: index-1, viewModel: viewModel),
key: UniqueKey(),
background: Container(color: Colors.red),
onDismissed: (direction) {
onGameDismissed(context);
},
);
},
childCount: viewModel.games.length+1,
),
)
Я не мог найти подходящего ответа на свою проблему. Я нашел этот вопрос, связанный с анимацией изменений в SliverList
Но ответа нет...
1 ответ
Использовать
https://pub.dev/packages/auto_animated
Этот пакет дает вам LiveSliverList()
который можно использовать для легкого создания анимации slverList