Android 애니메이션 Scale Animation
안드로이드 Scale Animation |
■ Android 기본 변형 애니메이션 중 세번째로 Scale Animation에 대해서 알아보도록 하겠습니다.
이 애니메이션은 객체의 중심점을 기준으로 확대 또는 축소가 되는 형태 인데요. 예제를 하나 만들어서 코드를 작성하고 실행을 시켜보겠습니다.
●투명(Alpha Animation) : http://kd3302.tistory.com/90 ●이동 (Translate Animation) : http://kd3302.tistory.com/97 |
■ 먼저 "res" 폴더에 "anim" 폴더를 만들고 그 안에 "Scale Animation" 관련 xml 파일을 만들고 사용할 이미지를 "drawable" 폴더에 넣도록 하겠습니다. 이 내용이 정확히 이해가 되지 않는 분은 앞의 포스팅을 참고하실 바라겠습니다.
■ scale.xml 파일을 다음과 같이 작성하도록 하겠습니다.
① 'fromXScale' 을 "1.0"으로 설정을 하여 처음 시작을 할때 원래 크기에서 시작을 하도록 하며, 'toXScacle'를 "2.0"으로 설정을 2배로 확대되게 하고 있는 내용입니다.
② X축과 마찬가지로 Y축도 원형의 크기에서 두배로 커지게 하는 내용입니다.
③ 'pivotX, Y'는 확대 기준점을 설정하는 부분인데요. X축과 Y축의 표기가 다른것을 확인 할 수 있습니다. 중심축을 설정할때 "50" 또는 "50%" 라고 설정되어 있는것은 대상의 크기의 비율을 의미합니다. 즉 Y축은 이미지 폭에 대해 50% 지점을 의미합니다. X축의 설정"50%p"는 부모 객체의 넓이를 의미합니다. 즉, 부모 객체의 크기에 비례해서 중심점을 정하겠다는 의미입니다.
④ 'startOffset'을 "2000"으로 설정해서 프로그램이 실행되고 난 후 2초후에 애니메이션이 실행되도록 설정하고, duration을 "5000"설정해서 5초 동안에 걸쳐 애니메이션이 실행되도록 하는 내용입니다.
■ 이제 activity_main.xml 파일을 작성하도록 하겠습니다.
■ ImageView를 중앙에 배치하고 아이디를 "imageview1"로 설정하고 출력될 이미지를 drawable 폴더에 준비한 "mark"로 설정하고 있습니다.
■ 다음은 MianActivity.java 에서 각 파일을들 불러와서 실행을 시키도록 하겠습니다.
■ ImageView를 아이디로 찾아와서 image 객체에 담고, 애니메이션을 위에서 준비한 Scale로 설정하고 있는 내용입니다. 이제 AVD에서 실행을 해보도록 하겠습니다.
■ 실행을 해보면 중앙에 위치하고 있던 마크가 왼쪽으로 이동하면서 커지는것을 확인할 수있습니다. scale.xml 파일에서 pivotX를 "50%p" 로 설정했기 때문입니다. 이 수치를 그냥 "50"으로 설정한다면 중앙에 그대로 있는 상태로 사이즈만 두배로 커지게 될것입니다. Y축을 "50%p"로 설정하면 위쪽으로 움직이면서 사이즈가 커지게 될것입니다. 살짝씩 숫자를 바꿔가면서 테스트 해보면 어떻게 적용이 되는지 바로 알 수 있을것입니다.