淡入淡出图像聚焦更改重新生成



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

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

寻求帮助:

如何使用FadeInImage使FocusChange结果nw-back图像在..中褪色

也许用于另一个小部件。

代码: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),
),

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;
});
}
},

试着像这样使用UniqueKey

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

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

最新更新