2012-07-23 79 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