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

问题描述 投票:2回答:1

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

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

这就是我尝试过的方法:

decoration: BoxDecoration (
  image: DecorationImage(
    fix: BoxFit.cover,
    image: ...
  ),
)
flutter
1个回答
6
投票

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

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

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

这看起来像这样:

Stack(
  children: [
    FadeInImage(
      placeHolder: MemoryImage(....),
      image: NetworkImage(...),
    ),
    <your widget, I assume a container?>
  ],
)
© www.soinside.com 2019 - 2024. All rights reserved.