App노자
[Android] Property Animation Overview 본문
1. Property Animation Overview란?
속성 애니메이션 시스템은 거의 모든 항목을 애니메이션으로 만들 수 있는 프레임워크이다
화면에 그려지는지 여부에 관계없이 시간이 지남에 따라 개체 속성을 변경하는 애니메이션을 정의할 수 있으며
속성 애니메이션을 통해 지정된 시간 동안 속성(객체의 필드) 값을 변경한다
특정 항목을 애니메이션으로 보여주려면 애니메이션화를 할 객체 속성을 지정한다
속성 애니메이션 시스템을 사용하면 애니메이션의 다음 특성을 정의할 수 있다
재생 시간
애니메이션 재생 시간을 지정할 수 있다 기본 시간은 300ms이다
Time interpolation
애니매이션의 변경 속도를 정의한다. 이를 통해 애니매이션이 가속 및 감속과 같은 비선형 동작을 가질 수 있다
반복 횟수 및 동작
재생 시간이 끝나고 애니메이션 반복 횟수에 도달하면 애니메이션 반복 여부를 지정할 수 있다.
애니메이션을 역방향 재생도 지정할수 있고 역방향으로 설정하면
반복 재생 횟수에 도달할 때까지 애니메이션이 앞뒤로 반복 재생된다
애니메이터 조합
애니메이션을 함께 또는 순차적으로 재생하거나 지정된 지연 시간 후에 재생하는 논리 조합으로 그룹화할 수 있다
프레임 새로고침 지연
애니메이션 프레임의 새로 고침 빈도를 지정할 수 있다
기본값은 10ms마다 새로고치도록 설정되지만, 애플리케이션에서 프레임을 새로고칠 수 있는 속도는
시스템의 전반적인 사용량과 시스템에서 기본 타이머를 제공하는 속도에 따라 달라진다
https://developer.android.com/guide/topics/graphics/prop-animation?hl=ko#object-animator
속성 애니메이션 개요 | Android 개발자 | Android Developers
속성 애니메이션 개요 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 속성 애니메이션 시스템은 거의 모든 항목을 애니메이션으로 만들 수 있는 강력한 프
developer.android.com
2. API 개요
속성 애니메이션 시스템의 API는 대부분 android.animation에 속해있다
view animation의 android.view.animation에서 정의하고 있는 interpolators를 정의하므로
속성 애니메이션 시스템에서도 사용할 수 있다
Animator클래스는 애니메이션을 만들기 위한 기본 구조를 제공하며 최소한의 기능만 제공하므로 일반적으로 이 클래스를 직접 사용하지 않고 서브 클래스에서 Animator클래스를 상속하여 사용한다
ValueAnimator, ObjectAnimator, AnimatorSet가 있으며 Evaluators, Interpolators 함수를 이용해 속성 값과 애니메이션의 변경속도를 정의한다
3. AnimatorListener
animationView.addAnimatorListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
} //애니메이션이 시작될 때 호출된다
@Override
public void onAnimationEnd(Animator animation) {
} //애니메이션이 끝날 때 호출된다
@Override
public void onAnimationCancel(Animator animation) {
} //애니메이션이 반복될 때 호출된다
@Override
public void onAnimationRepeat(Animator animation) {
} //애니메이션이 취소되면 호출, 취소된 애니메이션은 종료 방법에 관계없이 onAnimationEnd()도 호출한다
});
AnimatorListener는 애니메이션으로부터 알림을 받는다.
AnimatorListener를 이용하여 애니메이션 기간 동안 종료 또는 반복과 같은 애니메이션 관련 이벤트를
수신 대기 할 수 있으며 사용방법은 추상 클래스인 Animator에 AnimatorListener를 추가해 사용하고
관련 이벤트에 원하는 제어를 작성하여 사용한다
https://developer.android.com/reference/android/animation/Animator.AnimatorListener
Animator.AnimatorListener | Android Developers
developer.android.com
'Android > AndroidStudio' 카테고리의 다른 글
[Android] finish, finishAffinity (0) | 2023.06.16 |
---|---|
[Android] ObjectAnimator (1) | 2023.06.10 |
[Android] ImageView - scaleType (0) | 2023.06.04 |
[Android] onNewIntent() (0) | 2023.06.01 |
[Android] Log확인 - getSimpleName() (0) | 2023.05.31 |