본문 바로가기
Android 개발/android :: Tip

[안드로이드 Animation] startAnimation(), setAnimation() 차이 구분

by 독학하는 1인 개발자 2020. 12. 6.

Android 개발 Tip.

- Animation 

 


애니메이션 시작하기

 

startAnimation()

 

setAnimation()

 

 

 

 

 

안드로이드 애니메이션이 한 번만 실행된다는 질문을 받은 적이 있다.

 

나도 예전에 동일한 문제로 몇십 분을 날린 적이 있는데

 

가끔씩 startAnimation()setAnimation()을 잘못 쓰는 경우가 있다.

 

 

 

예를 들어 뷰를 클릭할 때마다 애니메이션이 실행되어야 하는데

 

애니메이션이 처음 한 번만 실행되고 안 되는 말도 안 되는 경우가 발생한다.

 

 

 

정말 별거 아닌 내용이라 실수를 알고나면 허탈하지만

 

혹시나 동일한 문제로 구글링을 하는 분들이 있으면

 

실수를 좀 더 빨리 발견할 수 있도록 도움이 되길 바라며 올리는 포스팅이다.

 

 

 

 

 

 

 

정리

안드로이드 공식 설명을 정리하면 다음과 같다.

 

.startAnimation()
: 즉시 애니메이션을 실행한다.

.setAnimation()
: startAnimation()의 대안으로 Animation.setStartTime()을 사용하여 애니메이션의 시작 시간을 정의한 다음 View.setAnimation()으로 View에 애니메이션을 할당할 수 있다.

 

 

일반적으로 간단한 앱 기준으로는

startAnimation()을 주로 사용하고

setAnimation()은 쓸 일이 거의 없다.

 

 

 

 

 

 

댓글