代码之家  ›  专栏  ›  技术社区  ›  incidentist

在保持子窗口小部件状态的同时使用AnimatedList设置项目移除的动画

  •  0
  • incidentist  · 技术社区  · 7 年前

    我正在通过重新编写一个旧应用程序来学习Flutter。主屏幕是卡片的列表视图,可以左或右刷。在进行刷卡时,图形指示器显示刷卡的范围。当pan手势结束于速度阈值以上时,将播放一个掷卡动画,然后该项将从列表的项存储中删除。

    我想通过将项目的高度减少到零来设置删除项目的动画。

    我尝试了一个可拆卸的小部件,但是用户应该能够在2D中拖动一张卡,而不仅仅是沿着水平轴。

    接下来,我尝试使用 tutorial ,但是:当项目从列表中移除时,卡不再显示在屏幕上;所有可见的都是刷卡指示灯图像。然而,在动画列表中删除需要创建一个新的小部件,并且该新小部件的“刷卡状态”被重置,因此卡在其高度动画为零之前再次闪烁。

    我喜欢动画列表方法。 我怎样才能告诉删除回调函数只设置已经存在的小部件大小的动画?或者,保存小部件状态并在重新创建小部件时再次加载它?

    这是一堆代码。动画列表的内容在 bink_list ,刷卡处理的东西在 swipe_container . https://gist.github.com/incidentist/85ecb5e44309b349b360e0ecbf6f15a4

    谢谢!

    0 回复  |  直到 7 年前