개발/Android
[Android] Property Animation – Rotate (회전)
Dev Aaron
2020. 11. 8. 22:21
반응형
본 포스팅은 아래 포스팅들과 관련있습니다.
- [Android] Property Animation – Translate (이동)
- [Android] Property Animation – Scale (확대/축소)
- [Android] Property Animation – Fade (나타나기/사라지기)
- [Android] Property Animation – Color (색상 변경)
- [Android] Property Animation – Snowing (눈 내리기)
먼저 Rotate 애니메이션을 적용했을 때의 결과를 보면 다음과 같습니다. 시계 방향으로 한 바퀴 회전하는 애니메이션입니다.
위 애니메이션은 아래와 같이 간단한 코드로 구현할 수 있습니다. 애니메이션이 지속되는 시간은 기본적으로 300ms인데, 예제를 눈으로 확인하기에 짧은 것 같아 2초로 늘렸습니다.
ObjectAnimator.ofFloat(ivSnow, View.ROTATION, -360f, 0f) .apply { duration = 2000 } .start()
Property Animation은 ObjectAnimator 클래스를 통해 구현하게 됩니다. 회전을 위해 두 번째 인자 Property에 View.ROTATION을 넣어주고, 시작 각도와 종료 각도를 각각 -360, 0으로 입력하였습니다. 정확히 한 바퀴를 도는 애니메이션을 볼 수 있습니다. property에는 View.ROTATION 외에 View.ROTATION_X, View.ROTATION_Y도 넣어줄 수 있습니다.
- ROTATION_X: X축을 중심으로 회전하게 되어 상하로 회전합니다.
- ROTATION_Y: Y축을 중심으로 회전하게 되어 좌우로 회전합니다.
회전 각도
시작 각도와 종료 각도를 -360, 0으로 각각 설정했는데, 꼭 이 값일 필요는 없습니다. 0, 360으로 해도 동일한 효과를 볼 수 있습니다. 대신 이 값을 360, 0으로 설정하게 되면 회전하는 방향이 반대로 가는 것을 확인할 수 있습니다.
반응형