SSISO Community

시소당

안드로이드 애니메이션(Animation) 프레임애니메이션(FrameAnimation)

오늘은 ImageView의 이미지를 다른이미지로 번갈아가면서 보여주는 FrameAnimation예제입니다.


* FrameAnimation : 정해놓은 시간에 따라서 정지된 그림을 빠르게 교체하면서 보여주는 애니메이션입니다.


1. 이미지뷰를 하나 만들어줍니다.

1
2
3
4
5
  <ImageView
            android:id="@+id/anim_img"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:background="@drawable/anim"/>
cs



2. res / drawable 에 anim.xml 파일을 만듭니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:oneshot="false">
 
    <item
        android:drawable="@drawable/img1"
        android:duration="100" />
 
    <item
        android:drawable="@drawable/img2"
        android:duration="100" />
 
    <item
        android:drawable="@drawable/img3"
        android:duration="100" />
 
    <item
        android:drawable="@drawable/img4"
        android:duration="100" />
 
</animation-list>
cs


* oneshot : 반복여부를 넣어줍니다, false는 무한, true는 list안에있는 item이 한 번씩만 수행됩니다.


3. 애니메이션 멈추기 시작하기

- java

1
2
3
4
5
6
7
8
9
10
11
12
13
final AnimationDrawable animationDrawable = (AnimationDrawable)imageView.getBackground();
 
if(animationDrawable.isRunning()){
 
    animationDrawable.stop();
 
    }else{
 
    animationDrawable.start();   
        
    }
 
}
cs


* animationDrawable.isRunning() : oneshot 을 true로 설정했을 경우 계속 돌고있겠지용? 돌고있는지의 상태를 리턴

755 view

4.0 stars