만족
[Android Studio] Animation 본문
[Android Studio] Animation
FrontEnd/Android Satisfaction 2017. 6. 30. 03:51뷰나 레이아웃이 움직이거나, 투명도가 바뀌는 등의 행동을 애니메이션으로 표현하는 방법.
<xml>
res폴더에 anim폴더를 새로 만들고, xml파일을 하나 만든다.
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<!--Move 100%p to 0%p during 1 sec(1000ms) -->
<translate
android:fromXDelta="100%p"
android:toXDelta="0%p"
android:duration="1000"/>
<!--change alpha from 0.5 to 1.0 during 1 sec(1000ms) -->
<alpha
android:fromAlpha="0.5"
android:toAlpha="1.0"
android:duration="1000"/>
</set>
set태그 안에 translate, alpha, rotate 등의 태그를 포함하는 형태이다.
위의 xml은 X좌표값이 100%p이고 알파값이 0.5부터 시작해서 X좌표값이 0%p이고 알파값이 1.0으로 1초동안 변화한다.
이제 이 xml을 뷰에 적용하려면, JAVA코드로 넘어간다.
<JAVA>
Animation toLeft;
처럼 Animation 객체를 생성하고
toLeft= AnimationUtils.loadAnimation(this, R.anim.animation_toleft);
처럼 AnimationUtils.loadAnimation 메소드를 이용하여 해당 애니메이션 객체기 어떤 애니메이션 xml파일을 사용할 것인지를 정한다.
moveLayout.startAnimation(toLeft);
그리고 특정 뷰의 startAnimation메소드를 사용하면, 해당 뷰를 대상으로 애니메이션이 진행된다.
<작동 메커니즘>
안드로이드에서는 트윈 애니메이션 기법을 사용한다.
이 기법은 애니메이션을 시작할 때, Resource로부터 애니메이션 정보를 얻어와 애니메이션 객체를 만들고
(AnimationUtils.loadAnimation(...))
그 객체를 다시한번 뷰에 전달하여 동작한다
(startAnimation(...))
위의 예시에서도 알 수 있듯이, 리소스->Animation 객체->뷰 객체 로 두번의 정보 이동을 거치기 때문에 트윈 애니메이션이라 한다.
'FrontEnd > Android' 카테고리의 다른 글
[Android Studio] ViewFlipper (0) | 2017.06.30 |
---|---|
[Android Studio] Visibility 속성값의 invisible, gone 차이점 (0) | 2017.06.30 |
[Android Studio] Activity Title Label 없애기 (0) | 2017.06.30 |
[Android Studio] Seletor Tag (0) | 2017.06.30 |
[Android Studio] Focus (0) | 2017.06.30 |
Comments