안드로이드

안드로이드 애니메이션 확대 애니메이션 expansion, 축소 애니메이션 reduction

알통몬_ 2018. 11. 19. 10:15
반응형


공감 및 댓글은 포스팅 하는데

 아주아주 큰 힘이 됩니다!!

포스팅 내용이 찾아주신 분들께 

도움이 되길 바라며

더 깔끔하고 좋은 포스팅을 

만들어 나가겠습니다^^

 



안드로이드 애니메이션 중 확대, 축소 애니메이션 구현하는 방법입니다.


먼저 res 디렉토리에 anim 디렉토리를 만듭니다.


그리고 그 안에 expansion.xml 과 reduction.xml을 만들고 

아래 코드들을 각각 추가합니다.

expansion.xml

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true">
<scale
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="200"
android:fromXScale="0.2"
android:fromYScale="0.2"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="1.0"
android:toYScale="1.0"
/>
</set>

reduction.xml

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true">
<scale
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="200"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="0.0"
android:toYScale="0.0"
/>
</set>

위 코드를 보면아시겠지만 from -> to 입니다.

사이즈는 원하는 크기만큼 쓰시면 됩니다.

duration은 애니메이션 시간입니다. 저처럼 200으로 하면 0.2초간 진행됩니다.

pivot은 중심점으로 x, y를 각 50%로 주면 기준점이 요소의 중앙이 됩니다.


적용 방법

ImageView에 적용하기

ImageView animView = findViewById(R.id.animView);

Animation anim = AnimationUtils.loadAnimation(this, R.anim.reduction);

animView.setAnimation(anim);


위처럼 사용할 수 있습니다.

이상입니다.



반응형