오늘은 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"?> 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로 설정했을 경우 계속 돌고있겠지용? 돌고있는지의 상태를 리턴
SSISO Community