0

我有一个 ListView 可以动态地从地图中显示其子项。ListView 位于显示和隐藏 ListView 的动画控制器内。如何将一个 Text 小部件添加到 ListView 的底部?或者我应该改用 ListView.builder 吗?

AnimatedContainer(
    duration: Duration(milliseconds: duration),
    height: _expandRedFlag ? (args.map1.length * 37.0 + 20) : 0,
    padding: EdgeInsets.symmetric(horizontal: 8, vertical: 4),
    child: Container(
      child: ListView(
        physics: NeverScrollableScrollPhysics(),
        children: args.map1.entries
            .map((e) => Column(children: [
                  Row(
                    textDirection: TextDirection.rtl,
                    mainAxisAlignment:
                        MainAxisAlignment.spaceEvenly,
                    children: [
                      Text(
                        "${e.value}",
                        style: TextStyle(fontSize: 14),
                      ),
                      SizedBox(
                        width: 8,
                        height: 25,
                      ),
                      Expanded(
                        child: Text(
                          e.key,
                          style: TextStyle(fontSize: 14),
                        ),
                      ),
                    ],
                  ),
                  Container(
                    height: 2,
                    width: double.infinity,
                    child: Divider(
                      color: Colors.black,
                    ),
                  ),
                ]))
            .toList(),
      ),
    ),
  ),
4

1 回答 1

0

Flutter 有一个现成的解决方案!

使用动画列表

一个滚动容器,在插入或移除项目时为项目设置动画。此小部件的 AnimatedListState 可用于动态插入或删除项目。要引用 AnimatedListState,请提供 GlobalKey 或使用项目输入回调中的静态方法。此小部件类似于 ListView.builder 创建的小部件。

于 2021-01-03T11:56:35.577 回答