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

+0

모든 기능을 수행하면 스레드가 반복되는 횟수를 확인할 수 있습니다. 그것은 나쁜 해결책 일 것이지만 우리는 이것을 통해서 할 수 있습니다. – vinaykumar

관련 문제