使用Dismissible删除项目时的ListView动画

时间:2018-11-06 08:56:52

标签: dart flutter

我正在使用Dismissible来关闭项目,但是当项目被关闭时,我会得到默认的无聊动画。有没有办法像Gmail一样更改动画?

示例:

enter image description here

我自己的动画(不流畅)

enter image description here

因此,在我的动画中,当删除该项目时,您会看到轻微的停顿,而下一项目又出现在屏幕上,占据了旧项目的位置。

2 个答案:

答案 0 :(得分:0)

这是Dismissible的默认动画。

List<String> content;

ListView.builder(
  itemCount: content.length,
  itemBuilder: (context, index) {
    return Dismissible(
      key: ValueKey(content[index]),
      onDismissed: (_) {
        setState(() {
          content = List.from(content)..removeAt(index);
        });
      },
      background: Container(color: Colors.green),
      child: ListTile(
        title: Text(content[index]),
      ),
    );
  },
)

答案 1 :(得分:0)

感谢@RémiRousselet的努力。

最后,我找到了这个丑陋动画的原因。计划使用itemExtent时,切勿使用Dismissible。我很生气,我用过它。