在安卓上实现svga图层替换

找出需要替换的图层的key

解析地址
图片加载失败
可以看到,我需要替换的图层的key是liwu,这个key在后面将会使用到

进行替换

github官方文档

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
try {
//FileInputStream inputStream = new FileInputStream(new File("D:/PeeClient/app/src/main/assets/kingBag.svga"));
parser.parse(getAssets().open("kingBag.svga"), "",
new SVGAParser.ParseCompletion() {
@Override
public void onComplete(@NotNull SVGAVideoEntity videoItem) {
SVGADynamicEntity dynamicEntity = new SVGADynamicEntity();
dynamicEntity.setDynamicImage("https://yayapu.oss-cn-shenzhen.aliyuncs.com/gift/花花.png", "liwu"); // Here is the KEY implementation.
SVGADrawable drawable = new SVGADrawable(videoItem, dynamicEntity);
svgaImageView.setImageDrawable(drawable);
svgaImageView.setLoops(1);
svgaImageView.setClearsAfterStop(true);
svgaImageView.startAnimation();
}
@Override
public void onError() {

}
},true);
} catch (Exception e) {
System.out.print(true);
}

可以看到,我的svga文件是放在本地的,如果是通过URL来加载svga的可以参考一下github的例子来写。setDynamicImage()图层替换函数需要两个参数,第一个是新图层的URL地址,第二个是图层的key,即我们在上一步中解析出来的key

-------------本文结束您的阅读与肯定是我持续装*的最大动力-------------