반응형

굳이 사용할 필요는 없지만 알면 재밌는것중 하나가 바로 Frame Animation입니다.

코딩도 매우 간단합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?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" />
<item android:drawable="@drawable/img5" android:duration="100" />
<item android:drawable="@drawable/img6" android:duration="100" />
<item android:drawable="@drawable/img7" android:duration="100" />
<item android:drawable="@drawable/img8" android:duration="100" />
<item android:drawable="@drawable/img9" android:duration="100" />
<item android:drawable="@drawable/img10" android:duration="100" />
<item android:drawable="@drawable/img11" android:duration="100" />
<item android:drawable="@drawable/img12" android:duration="400" />
<item android:drawable="@drawable/img13" android:duration="400" />
<item android:drawable="@drawable/img14" android:duration="400" />
<item android:drawable="@drawable/img15" android:duration="400" />
</animation-list>
cs


안드로이드 개발자 사이트에도 나와있듯이

imageview = (ImageView)findViewById(R.id.framImg);
imageview.setBackgroundResource(R.anim.frame_anim);
animation = (AnimationDrawable)imageview.getBackground();

다음과 같이 애니매이션 객체를 불러와

animation.start();

시작하게 되는데요

어째서인지 이를 바로 start()하게 되면 애니매이션이 1번에서 움직이지 않더라구요

버튼을 생성해 animation.start(); 를 임의로 실행시키면 애니매이션이 진행됩니다.

그래서 할수 없이 생각한게


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
void aniThread(){
     
     Thread thread = new Thread(new Runnable() {
   
   @Override
   public void run() {
    // TODO Auto-generated method stub
    try{
     
        animation.start();
     
     aniHandler.sendEmptyMessage(0);
     
    }catch (Exception e) {
     // TODO: handle exception
    }
   
   }
  });
     
     thread.start();
    }
    
    private Handler aniHandler = new Handler(){
      public void handleMessage(Message msg){
       
       
      }
      
    }; 
cs

다음과 같이 임의로 쓰레드를 돌려주는것이였습니다.


반응형

'Android' 카테고리의 다른 글

어플리스트로 특정 어플 실행 시키기  (2) 2011.12.11
마이크의 소리를 Frequency or Decibel로 나타내기  (17) 2011.12.04
네이버 검색 API 사용하기(책,쇼핑)  (6) 2011.11.27
Music Player  (0) 2011.11.27
FTP Client 만들기  (53) 2011.11.27

+ Recent posts