본문 바로가기
프로그래밍/Android

(Android) 애니메이션(Animation)에 대해

by LiveData 2018. 12. 20.
반응형

앱의 필수적인 요소 애니메이션을 빼놓을 수 없죠



 




인스타 예제 오픈소스

https://github.com/frogermcs/InstaMaterial



이런 애니메이션 효과에 대해 알아보려고 합니다.



애니메이션 종류에는

AlphaAnimation : 투명도 변환
RotateAnimation : 회전
ScaleAnimation : 크기 변환
TranslateAnimation : 위치 이동

4가지의 정도 기본 애니메이션을 사용할 수 있으며 사용법은

XML이나 Java Code , 이 2가지로 만들 수 있습니다.



1. XML

<?xml version="1.0" encoding="utf-8"?>
    android:duration="150"
    android:interpolator="android:anim/linear_interpolator">
    <translate
        android:fromYDelta="80%p"
        android:toYDelta="0"/>
    <alpha
        android:fromAlpha="0.0"
        android:toAlpha="1.0"/>
</set>
cs

translate - 이동하는 애니메이션
fromYDelta : 80%p에서부터 
(※ p -> 부모의 view로부터를 의미)
toYDelta : 0까지 이동


alpha - 투명도 애니메이션
fromAlpha : 0 안보이는 상태에서
toAlpha : 1 보이는 상태로

(※  set을 통해 2가지 애니메이션을 한꺼번에 적용할 수 있다.)

이런식으로 미리 애니메이션을 만든 XML을 사용해서

애니메이션을 적용시킬 수 있습니다.


 <TextView
      android:id="@+id/mTextView"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:inAnimation="@anim/slide_in_likes_counter"
      android:outAnimation="@anim/slide_out_likes_counter">
cs


적용시킬 때에는

android:inAnimation - 시작 애니매이션
 android:outAnimation - 끝 애니메이션

으로 적용할 수 있습니다.




Java Code로 적용시킬 수 있습니다.

Animation anim= AnimationUtils.loadAnimation(this,R.anim.slide_in_likes_counter);
mImageButton.setAnimation(anim);









참고
http://programmingsummaries.tistory.com/26
http://pluu.github.io/blog/android/droidkaigi/2016/03/17/android-animation/
반응형