Skip to content
This repository has been archived by the owner on Feb 6, 2023. It is now read-only.

APIs.zh

詹瞻在欢聚 edited this page Dec 27, 2019 · 4 revisions

SVGA Player 是一个动效播放 SDK。 使用设计师插件将动效源文件一键导出 .svga 文件, 即可在多平台播放。

SVGAImageView

SVGAImageView 是动效的载体,被用来播放动效,它继承自 android.view.View, 代码中把它当 View 使用即可。

isAnimating: Boolean readonly

返回当前动画状态。

videoItem: SVGAVideoEntity

videoItem 是当前播放的内容, 记录了动效的主要信息,是动效描述文件解析后的产物。

loops: int

loops 是为播放器设置的动效循环次数, 默认值是 0,此时意味着动效会无限循环.

clearsAfterStop: BOOL

clearsAfterStop 决定动效结束后画布的状态, 默认值是 true 此时会在动效结束时清理画布。

fillMode: NSString

fillMode 决定动效暂停时画布所在帧状态, 默认值是 Forward 意味着动效将会暂停在当前帧的下一帧, Backward 意味着动效将会停在当前帧。

callback: SVGACallback

SVGAImageView 通过回调来通知当前动效状态。

startAnimation()

从第 0 帧开始动效,直到 loops 结束。

startAnimation(range: SVGARange, reverse: Boolean = false)

从第 Range.location 帧开始动效,播放 Range.length 帧, 直到 loops 结束。 reverse 决定动效是正序播放还是倒序播放, 默认值是 false,意味着动效正序播放, true 则代表动效从最后一帧倒序播放。

pauseAnimation()

在当前帧暂停动效。

stopAnimation()

停止播放当前动效。

stopAnimation(clear: Boolean)

停止播放当前动效, 此时 clearsAfterStop 如果为 true, 画布将被清空。

setVideoItem(videoItem: SVGAVideoEntity)

videoItem 是当前播放的内容, 记录了动效的主要信息,是动效描述文件解析后的产物。

setVideoItem(videoItem: SVGAVideoEntity, dynamicItem: SVGADynamicEntity)

videoItem 是当前播放的内容, 记录了动效的主要信息,是动效描述文件解析后的产物。 dynamicItem 记录了档青年

stepToFrame(frame: Int, andPlay: Boolean)

从第 frame 帧渲染动效, 如果 andPlaytrue 则会从当前帧开始播放动效。

stepToPercentage(percentage: Double, andPlay: Boolean)

从第 percentage * 总帧数 帧渲染动效, percentage 的范围是 0.0 - 1.0, 如果 andPlaytrue 则会从当前帧开始播放动效。

SVGAParser

sharePerser: SVGAParser

必须在使用 SVGAParser 单例前初始化。

fileDownloader: FileDownloader

Assign a fileDownloader to load resource from assets and network. You may extends it, and implement your downloader.

parse(assetsName: String, callback: ParseCompletion)

过 .svga 的文件名称在 Assets 中加载动效文件。

parse(url: URL, callback: ParseCompletion)

通过 .svga 的文件 URL 在远程主机中加载动效文件。

parse(inputStream: InputStream, cacheKey: String, callback: ParseCompletion, closeInputStream: Boolean = false)

Parse a svga file from stream, the cacheKey should be unique betweens files. If closeInputStream sets to true, stream will close after parse.

SVGAPlayerCallback

onPause()

当动画暂停时回调此方法。

onFinished()

当动画结束时回调此方法。 注意: 当 loops 设置为 0 的时候此方法永不回调。

onRepeat()

当动画重新开始播放时回调此方法。

onStep(frame: Int, percentage: Double)

当动画播放到第 frame or percentage * 总帧数 帧时回调此方法。

SVGAVideoEntity

antiAlias: Boolean

Defaults to true, render animation without alias.

videoSize: SVGARect readonly

返回动效 Size。

SVGADynamicEntity

setHidden(value: Boolean, forKey: String)

通过 imageKey 将某元素动效动态隐藏。

setDynamicImage(bitmap: Bitmap, forKey: String)

通过 imageKey 将某元素动效动态替换成 URL 链接的 BitmapURL 对应的内容会自动下载缓存。

setDynamicImage(url: String, forKey: String)

通过 imageKey 将某元素动效动态替换成 image 对应的 Bitmap

setDynamicText(text: String, textPaint: TextPaint, forKey: String)

通过 imageKey 将某元素动效动态替换成 Text

setDynamicText(layoutText: StaticLayout, forKey: String)

通过 imageKey 将某元素动效动态替换成 Text

setDynamicDrawer(drawer: (canvas: Canvas, frameIndex: Int) -> Boolean, forKey: String)

通过 imageKey 动态替换动效元素, 在 Drawer 中绘制将要替换的内容。

clearDynamicObjects()

清空当前动效设置的全部 DynamicObjects

Clone this wiki locally