客户需要通过SVG来做直播场景的炫酷动画。故调用得到如下的工具库:
GIthub-SVAGPlayer
通过xml组装到 项目中,然后调用提供的api 实现自己的需求即可。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.opensource.svgaplayer.SVGAImageView
android:layout_height="match_parent"
android:layout_width="match_parent"
app:source="posche.svga"
app:autoPlay="true"
android:background="#000" />
RelativeLayout>
SVGAPlayer-Android是一个用于在Android应用中播放SVGA(Scalable Vector Graphics Animation)动画的库。它支持矢量动画和帧动画,并提供了一系列方法来控制动画的播放、暂停、停止和事件监听等。
下面是SVGAPlayer-Android库的主要方法及其使用说明:
svgaPlayerView.setAnimationFromAssets("your_animation.svga");
使用setAnimationFromAssets
方法从assets文件夹中加载动画资源文件。确保动画文件与你的assets文件夹中的文件名相匹配。
svgaPlayerView.setAnimationFromFile("path/to/your_animation.svga");
使用setAnimationFromFile
方法通过文件路径加载动画资源文件。
svgaPlayerView.setAnimationFromURL("https://example.com/your_animation.svga");
使用setAnimationFromURL
方法通过URL加载动画资源文件。
InputStream inputStream = getAssets().open("your_animation.svga");
svgaPlayerView.setAnimationFromInputStream(inputStream, "your_animation.svga");
使用setAnimationFromInputStream
方法通过输入流加载动画资源文件。
svgaPlayerView.startAnimation();
使用startAnimation
方法开始播放动画。
svgaPlayerView.pauseAnimation();
使用pauseAnimation
方法暂停动画。
svgaPlayerView.continueAnimation();
使用continueAnimation
方法继续播放暂停的动画。
svgaPlayerView.stopAnimation();
使用stopAnimation
方法停止播放动画。
svgaPlayerView.setLoops(3);
使用setLoops
方法设置动画循环次数,默认为0,表示无限循环。
svgaPlayerView.setCallback(new SVGACallback() {
@Override
public void onPause() {
// 动画暂停时的回调
}
@Override
public void onFinished() {
// 动画播放完成时的回调
}
@Override
public void onRepeat() {
// 动画循环播放时的回调
}
@Override
public void onStep(int frame, double percentage) {
// 动画播放进度更新时的回调
}
});
使用setCallback
方法设置动画播放事件的监听器,根据需要实现相应的回调方法。
以上是SVGAPlayer-Android库的主要方法,你可以根据自己的需求使用这些方法来加载、播放、暂停和停止SVGA动画,并监听动画的播放事件。确保你的项目支持当前主流的Android版本,并正确导入SVGAPlayer-Android库。