setTranslationX의 속성 애니메이션과 보기 애니메이션의 차이점에 대해 논의
프레임 애니메이션은 DrawableContainer에서 상속된 AnimationDrawable 클래스에 해당합니다. 이는 여러 Drawable을 로드하여 프레임별로 애니메이션 효과를 재생합니다. 많은 사람들이 이것이 언급할 가치가 없다고 생각하지만, 양이 풀을 먹는 모습과 같은 일부 애니메이션 효과에는 이 애니메이션을 사용해야 합니다.
다음으로 뷰 애니메이션의 단점을 보완하기 위해 안드로이드 3.0과 API 11부터 도입된 속성 애니메이션에 대해 살펴보겠습니다. 정식 프로젝트에서 사용하려면 NineOldAndroids를 사용하여 Android 2.3과 호환되도록 하면 됩니다. 생성된 jar 패키지를 여기에 넣으면 됩니다.
속성 애니메이션은 모두 android.animation 패키지 아래에 있습니다. 기본 클래스는 Animator 클래스이고 하위 클래스는 ValueAnimator 및 AnimatorSet입니다(뷰 애니메이션의 AnimationSet과 동일). ValueAnimator의 하위 클래스에는 ObjectAnimator가 포함됩니다. 일반적으로 속성 애니메이션 ObjectAnimator를 사용해도 됩니다. 뷰 애니메이션 아키텍처와의 유사점과 차이점을 간략하게 비교해 보겠습니다.
뷰 애니메이션, 패키지 이름은 android.view.animation, 기본 클래스는 Animation, 핵심 하위 클래스는 TranslateAnimation, ScaleAnimation, AlphaAnimation, RotateAnimation 및 AnimationSet.
속성 애니메이션, 패키지 이름 android.animation, 기본 클래스는 Animator, 핵심 하위 클래스는 AnimatorSet, ValueAnimator, ObjectAnimator, TimeAnimator입니다.
속성 애니메이션과 뷰 애니메이션을 자세히 비교하기 전에 먼저 setTranslationX 및 setTranslationY 함수를 소개하겠습니다. API 버전은 11입니다. 공식 프로젝트에서 사용되는 경우 뷰의 오프셋을 설정합니다. , api11 이전의 호환성을 고려하세요. nineoldandroids에서 ViewHelper를 사용하세요