Draw the first frame, then use a Handler
to post delayed Message
that when handled moves to the next frame and calls invalidate()
.
What you need to do is:
Step #1. Override VisualizerView.verifyDrawable(Drawable who)
@Override
protected boolean verifyDrawable(Drawable who) {
return true;
}
Step #2. Modify MainActivity.addAnimationRenderer()
private void addAnimationRenderer() {
final AnimationDrawable anim = (AnimationDrawable) getResources().getDrawable(R.drawable.png1);
AnimationRenderer animRenderer = new AnimationRenderer(anim);
mVisualizerView.addRenderer(animRenderer);
anim.setCallback(mVisualizerView);
mVisualizerView.post(new Runnable() {
@Override
public void run() {
anim.start();
}
});
}
Step #3. Modify AnimationRenderer
: delete
mBitmap.setCallback(null);
mBitmap.start();