반응형
안녕하세요 돼지왕 왕돼지입니다.
오늘은 트윈 에니메이션 ( Tween Animation )에 대해 알아보고, 살짝 사용해보겠습니다.
트윈 애니메이션이 뭐요? ( Tween Animation )
위치나 크기, 회전 등의 효과를 일정한 시간내에 수행하여 애니메이션 진행하는 플래시와 비슷한 방식의 애니메이션입니다.
Frame Animation 에 비해 CPU는 더 많이 소모하지만 용량은 훨씬 적으며, 섬세한 중간 단계 구현도 가능합니다.
무슨 종류가 있소?
TranslateAnimation (좌표값 변경)
ScaleAnimation (크기 변경)
RotateAnimation (회전 각도 변경)
AlphaAnimation (투명도 변경)
AnimationSet (에니메이션 조합)
Animation 도 xml 로 정의할 수 있는걸로 알고 있는데, 어디에 위치시켜야해?
에니메이션 정의 파일의 위치는 res/anim.
예제를 한번 봅시다 그럼.
< java >
Animation ani = AnimationUtils.loadAnimation(.this, R.anim.translate);
Linear.startAnimation(ani);
<xml>
// translate.xml
// y축으로 처음부터 시작해서 y축 끝까지 이동
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator = "@android:anim/accelerate_interpolator">
<translate
android:fromYDelta = "0"
android:toYDelta = "100%"
android:duration = "3000"/>
</set>
// rotate.xml
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator = "@android:anim/accelerate_interpolator">
<rotate
android:fromDegrees = "0"
android:toDegrees="360"
android:pivotX="50%"
android:pivotY="50%"
android:duration = "3000"/>
</set>
// scale.xml
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator = "@android:anim/accelerate_interpolator">
<scale
android:fromXScale = "1.0"
android:toXScale = "0.1"
android:fromYScale = "1.0"
android:toYScale = "0.1"
android:pivotX="50%"
android:pivotY="50%"
android:duration = "2000"/>
</set>
// alpha.xml
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator = "@android:anim/accelerate_interpolator">
<alpha
android:fromAlpha = "1.0"
android:toAlpha = "0.0"
android:duration = "1000"
android:repeatCount = "1"
android:repeatMode = "reverse"/>
</set>
// set.xml
// 모든 animation이 한번에 작동 (순차적이 아님)
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator = "@android:anim/accelerate_interpolator">
<translate ...>
<alpha ...>
<scale ...>
<trotate ...>
</set>
저 위에 interpolator 가 있는데, interpolator 에 대해서도 알려줘봐.
값 | 설명 |
accelerate_interpolator | 처음에 느리다가 점점 빨라짐 |
decelerate_interpolator | 처음에 빠르다가 점점 느려진다. |
accelerate_decelerate_interpolator | 빨라지다가 다시 느려진다. |
이 외에도 interpolator 종류가 많이 있으니, developer 에 가서 참조하세요~
로그인 없이 추천 가능합니다. 손가락 꾸욱~
반응형
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[Android/안드로이드] Canvas Operation 에 대해 알아보자. ( Transformation & Scaling & Rotating ) (0) | 2012.02.18 |
---|---|
[Android/안드로이드] Frame Animation 사용해보자. (0) | 2012.02.18 |
[Android/안드로이드] Animation Listener 를 사용해보자. (0) | 2012.02.18 |
[Android/안드로이드] Surface View 에 대해 알아보자. (1) | 2012.02.18 |
[Android/안드로이드] MapView 사용을 위한 기본 설정. (0) | 2012.02.18 |
댓글