2012-07-23 64 views
0

我正在运行使用表面视图中的顺序图像的帧动画。使用“表面”视图为逐帧动画设置动画结束侦听器

public class myView extends SurfaceView implements SurfaceHolder.Callback 
    { 
     public myView (Context paramContext, Listener paramListener) 
     { 
      super(paramContext); 
      getHolder().addCallback(this); 
      //Some Code 
     } 

     public void doDraw(Canvas paramCanvas, int imgpos) 
     { 
      // Animation from image source using InputStream 
     } 

    public boolean onTouchEvent(MotionEvent paramMotionEvent) 
    {  
     return super.onTouchEvent(paramMotionEvent);   
    } 

    public void surfaceChanged(SurfaceHolder paramSurfaceHolder, int paramInt1, int paramInt2, int paramInt3) 
    {   
      //Some Code 
    } 

    public void surfaceCreated(SurfaceHolder paramSurfaceHolder) 
    { 
      //Some code 
    } 


    public void surfaceDestroyed(SurfaceHolder paramSurfaceHolder) 
    { 
      //Some Code 
    } 

} 

现在我尝试使用下面的代码来实现的动画结束事件上述监听器:

public static abstract interface Listener 
    { 
     public abstract void onAnimationEnd(); 
    } 

我坚持了上面的代码中,我通过声明活动任何人都可以告诉我如何在另一个活动中实现这个接口,这样我就可以发现当前的动画在Surface View Activity中结束了。

由于事先

回答

0

添加

setAnimationListener 

到您的动画。如果您以xml文件中可绘制的形式分配动画,请检查here以了解如何获取动画。

+0

嗨,我没有使用xml文件的动画。图像从资源文件夹加载,并使用可运行的线程播放。 – Timson 2012-07-23 10:14:56

+0

好吧,我们可以检查线程重复多少次,根据我们可以处理的功能。这将是不好的解决方案,但我们可以通过这个。 – vinaykumar 2012-07-23 10:26:41