如何解决在ListView中重用窗口小部件的相同实例
首先-我有一个小部件,它包含并播放特定的动画,该状态无法保存或中断,因为动画数据永久来自Web服务器,并且此流很重要。
第二个-我有一个ListView.builder,带有“无限”张卡片列表(简单的卡片,在这种情况下并不重要,应用程序的屏幕同时包含5张)。
问题是:是否可以使用ListView的相同实例在ListView的第10个位置上设置给定的动画小部件,以保存其动画状态,而不必每次都重新创建动画小部件?它必须是相同的小部件,动画必须继续-当时屏幕上一个小部件的实例。
我尝试使用Stack,将动画小部件包裹在上层,将Offstage小部件包裹起来,将ListView的第10个位置都带有“间隙”。因此,动画小部件将永久存在,并且当它离开屏幕时,我将使用Offstage将其“关闭”。当它应该出现在滚动条上时,我将使用“舞台”将其“打开”。但是定位动画控件并将其位置与ListView的滚动位置同步非常困难。为此,我对ListView中的每个“间隙”使用一个GlobalKey,定义它的“渲染矩形”以将我的Animated小部件放置在给定的间隙上。
有什么想法可以更优雅地解决此任务?也许可以在“ ListView”中进行一些“深复制”或“单例”或使其存活(以某种方式)或使用一些条子,并在出现时一次又一次地重复使用它的同一实例吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。