Flutter - AnimatedSwitcher不够流畅

3

我已经实现了一组图片的动画效果。我想要做的是创建一个自定义的圆形旋转器,用不同的图片切换来实现这个效果。问题在于,使用AnimatedSwitcher时,在一个图像和另一个图像之间会出现黑色空隙,只有很短的一段时间。

以下是动画的代码:

AnimatedSwitcher(
    duration: Duration(milliseconds: 200),
    child: Image.asset(
        values[_index % values.length],
        key: UniqueKey(),
        height: 50,
        width: 50,
    ),
)

有没有解决这个问题的方法或者替代 AnimatedSwitcher 的方案?


1
你在使用 --release 标志构建应用程序时尝试过吗?还是你只是在模拟器中尝试? - Adlan Arif Zakaria
我在真实设备上尝试了一下,结果是一样的。 - l1z0b
无论是真实设备还是模拟器,你是否使用了 --release 标签来构建? - Adlan Arif Zakaria
谢谢,我已经尝试了,但不幸的是结果还是相同。 - l1z0b
2个回答

0

0
第二张图片可能需要一些时间才能加载到内存中。我之前也遇到过类似的问题,但通过一个变通方法解决了它。我使用了一个带有透明占位符的 FadeInImage 覆盖在之前的图片上:
import 'package:transparent_image/transparent_image.dart';

Stack(
  children: [
    Image(
      image: previousImage,
    ),
    FadeInImage(
      fadeInDuration: Duration(milliseconds: 300),
      placeholder: MemoryImage(kTransparentImage),
      image: currentImage,
    )
  ],
),

transparent_image 是我在 pubspec.yaml 中添加的一个依赖项。


这种方法能否使用多张图片?因为我有一组9张图片。 - l1z0b
我会考虑一下之前图片和当前图片的状态更新。不过你需要自己管理它。 - dumazy
我会尝试的,谢谢。 - l1z0b

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接