2011-09-06 4 views
2

내 프로젝트에서 애니메이션 용 시퀀스를 사용하고 있습니다. 애니메이션 시퀀스를 넣는 이미지에 onClickListener를 설정했습니다. 이제 코드를 처음 실행하고 이미지를 클릭하면 애니메이션이 올바르게 실행되지만 클릭으로 다시는 실행되지 않습니다. 코드를 다시 실행해야합니다. 그렇다면 애니메이션 시퀀스를 한 번 이상 실행할 수있는 방법은 무엇입니까? 애니메이션 시퀀스를 시작하기 위해 코드를 작성했습니다.한 번 이상 애니메이션 시퀀스를 실행하는 방법

image.setOnClickListener (새 OnClickListener를() {

 @Override   
     public void onClick(View v) { 

      // TODO Auto-generated method stub 

      animation_door = (AnimationDrawable) image.getBackground(); 
      animation_door.start();    

}});

+0

애니메이션을위한 XML도 표시하십시오. –

답변

2

글쎄, 당신의 버튼을 클릭하기 전에 다시는 애니메이션을 중지해야합니다, 그래서 당신은, 다음과 같이이 도움이

image.setOnClickListener(new OnClickListener() { 

      @Override   
      public void onClick(View v) { 

       animation_door = (AnimationDrawable) image.getBackground(); 
       animation_door.stop(); 
       animation_door.start();   
       } 
      }); 

희망, 스리 Sahani 그것을 시도 할 수 있습니다.

+0

감사합니다 Yar.it 작품 .... 나를 돕기위한 thaks .... –

+0

당신은 환영합니다. :) –

1

애니메이션이 oneShot으로 설정되어 있습니까? 마지막 상태 일 가능성이 높으므로 시작 상태로 되돌릴 필요가 있습니다.

AnimationDrawable door = (AnimationDrawable) image.getBackground(); 
door.setOneShot(false); 
door.start(); 

이것은 아마도 원하지 않는 반복 애니메이션으로 이어질 가능성이 높습니다. Animation Set을 사용하는 것이 좋습니다. 애니메이션 자체를 조금 더 제어 할 수 있기 때문입니다.

+0

고마워,하지만 클릭 한번으로 oneshot 애니메이션을 원한다. 그러므로 나는 XML에서 oneshot을 설정했다. 애니메이션을 클릭 할 수있게하는 방법이 있나요? 클릭 할 때마다 애니메이션을 시작해야합니다. ?? .. 미리 감사드립니다. –

관련 문제