【发布时间】:2019-09-16 19:15:53
【问题描述】:
我有一个使用 FadeInImage.assetNetwork 加载图像的小部件,第一次加载应用程序时,图像的图像淡入工作正常,当我尝试更新图像 URL 状态时,FadeInImage 选项不起作用。
Below 小部件用于加载图像,其中 qIcon 在 setState 上动态设置。
Widget quizIconCard(qIcon) {
return Card(
margin: EdgeInsets.all(5.0),
child: Container(
padding: EdgeInsets.all(10.0),
child: Column(
children: <Widget>[
FadeInImage.assetNetwork(
height: 128,
width: 128,
placeholder: 'assets/login_logo.png',
image: qIcon,
imageScale: 1.2,
)
],
),
),
);
}
qIcon 的 setState 更新了图像 URL,但我们看不到 fadeIn 效果和占位符图像。
有什么解决办法吗?
【问题讨论】:
-
这是FadeInImage 的设计行为。 “当占位符或图像发生变化时,此小部件会继续显示先前加载的图像(如果有),直到新的图像提供程序提供不同的图像。”您可能需要做一些事情来替换整个小部件。
-
是的,这行得通 - 尝试重新加载小部件,您可以将其发布为答案吗?
-
我将其作为评论发布,因为我觉得这不是一个完整的答案,因为我无法提供代码示例,但我已经继续并将其移至答案因为它帮助了你。