Flutter中的AnimatedList显示粉碎的元素

时间:2019-07-19 08:17:06

标签: list flutter dart flutter-animatedlist

我正在尝试在AnimatedList中显示ExpansionTiles/ListTiles中的Flutter,这是发生的情况: enter image description here

这是我的代码:

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 个答案:

答案 0 :(得分:0)

问题是我将sizeFactor的{​​{1}}设置为

SizeTransition

应该在的地方

animation.drive(
    Tween(begin: 0.0, end: 0.1),
  ),