我正在尝试在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的填充问题,但我不确定。
你能告诉我这里发生了什么吗?
答案 0 :(得分:0)
问题是我将sizeFactor
的{{1}}设置为
SizeTransition
应该在的地方
animation.drive(
Tween(begin: 0.0, end: 0.1),
),