[android] ObjectAnimator 에니메이션 효과 주는 방법
RecyclerView 또는 ListView에 애니메이션을 효과를 주고 싶을 때 아주 간단하게 해결 할 수 있는 방법이 있습니다.
ObjectAnimator 에니메이션 효과 주는 방법
ObjectAnimator 클래스를 이용하여 간단하게 리스트를 반짝 하고 바로 나오는게 아니라 알파값으로 Fade 효과를 줄 수 있습니다.
ObjectAnimator.ofFloat(contentView, "alpha", 0.0f, 1f).start();
contentView는 Adapter에서 getView() 메소드 혹은 instatntiateItem() 메소드에서 전체 View로 할당해놓으면 편합니다.
ObjectAnimator는 ValueAnimator(이전 섹션에서 설명함)의 서브클래스이고 타이밍 엔진과 ValueAnimator의 값 계산을 조합하며 타겟 객체의 이름 지정된 속성을 애니메이션화하는 기능이 있습니다. 그러면 애니메이션 속성이 자동으로 업데이트되므로 더 이상 ValueAnimator.AnimatorUpdateListener를 구현할 필요가 없기 때문에 객체를 애니메이션으로 보여주기가 훨씬 쉬워집니다. ObjectAnimator를 인스턴스화하는 작업은 ValueAnimator와 비슷하지만 애니메이션할 값 범위와 함께 객체와 객체의 속성 이름(문자열)도 지정합니다.
ObjectAnimator animation = ObjectAnimator.ofFloat(textView, "translationX", 100f);
animation.setDuration(1000);
animation.start();
[참고]
속성 애니메이션 개요
https://developer.android.com/reference/android/animation/ObjectAnimator
https://github.com/android/animation-samples/tree/master/CustomTransition