同一小部件​​上的英雄动画 -> 重建不遵循

时间:2021-01-29 12:16:12

标签: flutter dart animation

当我尝试使用 Hero 动画在同一个小部件的两次之间进行转换时,但一个小部件的大小受到其父级的限制,即使它应该放大,动画也会在返回时按比例缩小。
当第二个屏幕被按下时,它总是缩放到最后记录的大小。不知道是因为Hero Animation保存了源英雄的尺寸,还是当英雄在原点和尺寸时,初始屏幕最早渲染,我不知道。

因此我的问题是您是否知道解决此行为的方法,或者这是否可能是 Hero 小部件的意外行为,我应该发布一个颤振问题。

设置:

  • ValueNotifier 用于监听更改并重建两个小部件(因为它们实际上是相同的)
  • 加号按钮将元素添加到 valueNotifier 并调用 notifyListeners
  • 减号按钮将最后一个元素元素移除到 valueNotifier 并调用 notifyListeners

Animation

重现步骤:

  1. 开始dartpad.dev
  2. 单击向右箭头 fab
  3. 使用加号按钮添加尽可能多的条目,因此白色背景的小部件比以前高
  4. 点击左上角的左箭头按钮
  5. 观看动画调整大小,即使小部件应该同时重建

0 个答案:

没有答案