AnimatedList во Flutter отображает дробленые элементы
Я пытаюсь отобразить AnimatedList
из ExpansionTiles/ListTiles
в Flutter
и вот что происходит:
Это мой код:
Expanded (
child: Column(
children: [
Expanded(
flex: 10,
child: Padding(
padding: EdgeInsets.symmetric(vertical: 5),
child: Text(
"Results found: ${widget.guests.length}",
textScaleFactor: useMobileLayout ? 1 : 1.3,
style: TextStyle(
fontWeight: FontWeight.bold,
),
),
),
),
Expanded(
flex: 90,
child: Scrollbar(
child: buildList(),
),
),
],
),
)
Widget buildList(BoxConstraints constraints) {
return AnimatedList(
key: _animatedListKey,
initialItemCount: 10,
shrinkWrap: true,
physics: const AlwaysScrollableScrollPhysics(),
itemBuilder: (BuildContext context, int index, Animation animation) {
return buildAnimatedItem(
widget.guests[index], index, animation);
},
);
}
Widget buildAnimatedItem(Guest guest, int index, Animation animation) {
return SizeTransition(
sizeFactor: animation.drive(
Tween(begin: 0.0, end: 0.1),
),
child: buildItem(guest, index: index),
);
}
Widget buildItem(Guest guest, {int index}) {
return GuestRow();
}
Я думал, что, возможно, Expanded вызывает проблемы заполнения для AnimatedList, но я не уверен.
Не могли бы вы рассказать, что здесь происходит?
1 ответ
Решение
Проблема заключалась в том, что я установил sizeFactor
для SizeTransition
как
animation.drive(
Tween(begin: 0.0, end: 0.1),
),
где это должно было быть
animation.drive(
Tween(begin: 0.0, end: 1.0), // <-- changed 0.1 to 1.0
),