我想使用 Rive 在导航栏中制作动画图标。 我在 StatefulWidget 中有一个 NavigationBar 小部件。当我调用 setState 时,目的地(在导航栏中)会重新绘制,并且 Rive 动画会中断并闪烁。 如何将 Rive 与导航栏一起使用?
我尝试将 Rive.asset 移动到其他小部件。它不起作用,当父小部件调用 serState 时,有状态总是执行 initState。
我有一个返回小部件的方法,其中包括“Asset”文件夹中的几个 Rive 动画。
调用setState时,动画无法触发(事件监听没有响应),动画没有动画,只是静态显示。
我将我的方法(前面提到的)变成了 Future,并使用了 FutureBuilder。之后,效果很好。
凭借现在制作 Rive 动画的一些知识,并且不自称是专家,我只能猜测。
我认为,FutureBuilder 只是确保创建一个新的 Widget,而在 setState 之后,Widget 就“损坏”了。因此,通过制作一个新的 Widget,我不需要处理“损坏”的 Widget。
但是,我应该说,我没有看到该解决方案有任何性能变化。