FrameAnimation不能像TWEEN和ValueAnimator(属性动画)一样调用setAnimationListener的方法,如果在需要onStart或者onEnd进行某些处理的话比较麻烦。可以获取当前帧是否为最后一帧的方法。
@Override
protected void onDraw(Canvas canvas)
{
try{
Field field = AnimationDrawable.class.getDeclaredField("mCurFrame")
field.setAccessible(true);
int curFrame = field.getInt(anim);
if(curFrame == anim.getNumberOfFrames()-1)
{
//对应处理方法
}
}
catch(Exception e)
{
}
super.onDraw(canvas);
}