[Android] 애니메이션의 엘리먼트와 속성
fromAlpha : 0.0 ~ 1.0 // 0.0 투명 toAlpha : 0.0 ~ 1.0 // 0.0 투명 |
<scale>
fromXScale : X의 시작 크기 toXScale : X의 끝 크기 fromYScale : Y의 시작 크기 toYScale : Y의 끝 크기 pivotX : X 좌표의 중심점 pivotY : Y 좌표의 중심점 |
<tanslate>
fromXDelta : X의 시작 위치 toXDelta : X의 끝 위치 fromYDelta : Y의 시작 위치 toYDelta : Y의 끝 위치 |
<rotate>
fromDegrees : 회전 시작 각도 toDegrees : 회전 끝 각도 pivotX : 회전 중심 X 좌표 pivotY : 회전 중심 Y 좌표 |
<interpolator>
duration : 효과 시간 1/1000초 단위 startOfSet : 효과 오프셋 시작시간 1/1000초 단위 fillBefore : true로 설정하면 시작되기 전 애니메이션 변형 적용 repeatCout : 반복 횟수 repeatMode : 반복횟수가 0 보다 클때 효과가 끝나는 시점의 동작 지정 => restart, reverse zAdjustment : Z 축 지시모드 => normal, top, bottom interpolator : 각각 엘리먼트들을 효과 시간동안 어떻게 나타낼 것인지 지정 => @android:anim/interpolatorName 사용 |
* 알파 : 서서히 나타나는 에니메이션으로 스플래시 윈도우나 뷰들을 자연스럽게 나타나고자
할때 사용된다.(알파값을 반대로 하면 서서히 사라짐)
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="@android:integer/config_longAnimTime" />
* 이동
<translate
android:fromXDelta="100%p"
android:toXDelta="0"
android:duration="@android:integer/config_shortAnimTime"
/>
* 왼쪽으로 이동하며 서서히 나타남
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="100%p" android:toXDelta="0"
android:duration="300"/>
<alpha android:fromAlpha="0.0"
android:toAlpha="1.0" android:duration="300" />
</set>
* 왼쪽으로 이동하며 서서히 사라짐
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="0" android:toXDelta="-100%p"
android:duration="300"/>
<alpha android:fromAlpha="1.0"
android:toAlpha="0.0" android:duration="300" />
</set>
* 위로 이동하며 나타나기
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromYDelta="100%p" android:toYDelta="0"
android:duration="300"/>
<alpha android:fromAlpha="0.0"
android:toAlpha="1.0" android:duration="300" />
</set>
* 7번 흔들기
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0" android:toXDelta="10" android:duration="1000" android:interpolator="@anim/cycle_test" />
* 스케일
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator">
<scale android:fromXScale="2.0"
android:toXScale="1.0"
android:fromYScale="2.0"
android:toYScale="1.0"
android:pivotX="50%p" android:pivotY="50%p"
android:duration="@android:integer/config_mediumAnimTime"
/>
</set>
* 스케일 + 알파를 사용한 축소되며 사라지기
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator"
android:zAdjustment="top">
<scale android:fromXScale="1.0"
android:toXScale=".5"
android:fromYScale="1.0"
android:toYScale=".5"
android:pivotX="50%p"
android:pivotY="50%p"
android:duration="@android:integer/config_mediumAnimTime" />
<alpha
android:fromAlpha="1.0" android:toAlpha="0"
android:duration="@android:integer/config_mediumAnimTime"/>
</set>
* 서서히 나타나며 원래 크기보다 커졌다가 원래크기로 돌아가는 에니메이션
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator">
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="100" />
<scale
android:fromXScale="0.5"
android:toXScale="1.5"
android:fromYScale="0.5"
android:toYScale="1.5"
android:pivotX="50%"
android:pivotY="50%"
android:duration="200" />
<scale
android:fromXScale="1.5" android:toXScale="1.0"
android:fromYScale="1.5" android:toYScale="1.0"
android:pivotX="50%"
android:pivotY="50%"
android:startOffset="200"
android:duration="100" />
</set>
* 레이아웃 에니메이션 : 레이아웃에 포함된 각 뷰들이 보여지는 에니메이션 설정
<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"
android:delay="0.5"
android:animationOrder="random"
android:animation="@anim/설정할 에니메이션" />