This repository has been archived by the owner on Feb 6, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 490
Dynamic Drawer
PonyCui edited this page Dec 19, 2018
·
1 revision
Additionally, you want to draw things on element in animation.
You can download a sample file from SVGA-Samples to try.
// Setup a SVGAImageView by yourself.
try {
parser.parse(new URL("https://github.com/yyued/SVGA-Samples/blob/master/kingset.svga?raw=true"),
new SVGAParser.ParseCompletion() {
@Override
public void onComplete(@NotNull SVGAVideoEntity videoItem) {
}
@Override
public void onError() {
}
}
);
} catch (Exception e) {
System.out.print(true);
}
try {
parser.parse(new URL("https://github.com/yyued/SVGA-Samples/blob/master/kingset.svga?raw=true"),
new SVGAParser.ParseCompletion() {
@Override
public void onComplete(@NotNull SVGAVideoEntity videoItem) {
SVGADynamicEntity dynamicEntity = new SVGADynamicEntity();
dynamicEntity.setDynamicDrawer(new Function2<Canvas, Integer, Boolean>() {
@Override
public Boolean invoke(Canvas canvas, Integer frameIndex) {
Paint aPaint = new Paint();
aPaint.setColor(Color.WHITE);
canvas.drawCircle(50, 54, frameIndex % 5, aPaint);
return false;
}
}, "banner");
SVGADrawable drawable = new SVGADrawable(videoItem, dynamicEntity);
testView.setImageDrawable(drawable);
testView.startAnimation();
}
@Override
public void onError() {
}
}
);
} catch (Exception e) {
System.out.print(true);
}
As result, you see a circle drawn on the banner.
The imageKey
is the name of png file, ask your designer tell you the file name.
For example, the layer png image file name is xxx.png
, imageKey
is xxx
. File name should always use English name, do not use Chinese or Japanese etc.