如何在装饰中淡化装饰图像?

men*_* hu 6 flutter

我试图淡化装饰图像,无法弄清楚如何.

image属性需要ImageProvider,而FadeInImage小部件是StatefulWidget.

这就是我尝试过的方法:

decoration: BoxDecoration (
  image: DecorationImage(
    fix: BoxFit.cover,
    image: ...
  ),
)
Run Code Online (Sandbox Code Playgroud)

rmt*_*zie 10

你无法为DecorationImage制作动画.正如你所说,DecorationImage只提供了一个ImageProvider,它实际上并不允许动画(至少据我所知).

您可以通过从DecorationImage中获取部分代码并编辑它来编写新的AnimatedDecorationImage,但这将非常复杂.

我推荐的是使用堆栈来模拟与DecorationImage相同的东西.这将允许您使用FadeInImage小部件.

这看起来像这样:

Stack(
  children: [
    FadeInImage(
      placeHolder: MemoryImage(....),
      image: NetworkImage(...),
    ),
    <your widget, I assume a container?>
  ],
)
Run Code Online (Sandbox Code Playgroud)