image_sequence_animator
一个简单的用于为一组图像设置动画的小部件,具有完全自定义的控件,可作为 GIF 文件的替代方案。
强烈建议阅读文档并在真实设备上运行示例项目,以充分理解和检查全部功能。
这款简单的 widget 用于动画一系列图片(又名图片序列),提供完整的自定义控件,作为 GIF 文件的替代方案。
据我所知,GIF 文件无法进行控制。通过此软件包,您将能够像控制视频一样完全控制您的图片序列。您可以循环、来回播放、更改颜色、播放、暂停、停止、跳过、倒带、重新开始等等。
如何使用
首先,将您的图片序列添加到您的 assets 中,并相应地更新 "pubspec.yaml"。
然后,按照示例创建 ImageSequenceAnimator widget。
ImageSequenceAnimator(
"assets/ImageSequence", //folderName
"Frame_", //fileName
0, //suffixStart
5, //suffixCount
"png", //fileFormat
60, //frameCount
{Key key,
fps : 60,
isLooping : false,
isBoomerang : false,
isAutoPlay : true,
color : Colors.white,
onReadyToPlay : _onReadyToPlay,
onStartPlaying : _onStartPlaying,
onPlaying : _onPlaying,
onFinishPlaying : _onFinishPlaying})
void _onReadyToPlay(ImageSequenceAnimatorState _imageSequenceAnimator);
void _onStartPlaying(ImageSequenceAnimatorState _imageSequenceAnimator);
void _onPlaying(ImageSequenceAnimatorState _imageSequenceAnimator);
void _onFinishPlaying(ImageSequenceAnimatorState _imageSequenceAnimator);
进一步说明
有关所有参数和方法的完整说明,请参阅 文档。
- [isLooping] 将覆盖 [isBoomerang],如果两者都设置为 true。
- 所有 [ImageSequenceProcessCallback] 回调都将返回一个对创建的 [ImageSequenceAnimator] 状态的引用。您可以保存此实例以
进行后续操作。 - 使用 [ImageSequenceAnimatorState] 的
[void setIsLooping(bool isLooping)], [void setIsBoomerang(bool isBoomerang)], [void setColor(Color color)], [void play({double from: -1.0})],
[void rewind({double from: -1.0})], [void pause()], [void skip(double value, {double percentage: -1.0})], [void restart()], [void stop()]
方法执行相应操作。 - 使用 [ImageSequenceAnimatorState] 的 [double get currentTime] 和 [double get totalTime] 方法获取相应的值。
GitHub
https://github.com/aliyigitbireroglu/flutter-image-sequence-animator