FadeInImage onFocusChange 重新生成

akn*_*knd 5 flutter flutter-layout

我正在尝试使用 FadeInImage 来显示整个屏幕背景图像,使用 onFocusChange 更改它们。

目前只有初始图像使用淡入淡出,然后图像才被替换。

寻求帮助:

如何使用 FadeInImage so onFocusChange 结果 nw 后退图像淡入..

也许用于另一个小部件。

代码:https : //gist.github.com/andraskende/4dac77fed94b9e4f131c9f644e51bc62#file-videos-dart-L80-L88

return Scaffold(
  body: Container(
    child: Stack(
      children: [
        FadeInImage.memoryNetwork(
          placeholder: kTransparentImage,
          image: background,
          fit: BoxFit.fill,
          width: double.infinity,
          height: double.infinity,
          fadeInDuration: Duration(milliseconds: 100),
        ),
Run Code Online (Sandbox Code Playgroud)

.....

child: ListView.builder(
  itemCount: providerApp.videos.length,
  scrollDirection: Axis.horizontal,
  shrinkWrap: true,
  itemBuilder: (BuildContext context, int index) {
    return Focus(
      canRequestFocus: false,
      onFocusChange: (bool) {
        if (bool) {
          setState(() {
            background = providerApp.videos[index].image;
            description =
                providerApp.videos[index].description;
          });
        }
      },
Run Code Online (Sandbox Code Playgroud)

far*_*ama 2

尝试像这样使用UniqueKey :

FadeInImage.memoryNetwork(
          key: UniqueKey(),
          placeholder: kTransparentImage, 
          image: background,
          fit: BoxFit.fill,
          width: double.infinity,
          height: double.infinity,
          fadeInDuration: Duration(milliseconds: 100),
        ),
Run Code Online (Sandbox Code Playgroud)

在这种情况下,当调用setState方法时, FadeInImage将被重建,并且不会丢失动画