| public class MainActivity extends Activity {    ImageView img;    //FrameAnimation에 의해 Animation을 실행할  //Animation Drawable 객체 참조변수  //즉, Frame 단위로 이미지를 바꿔서 그려주는 Drawable 객체  AnimationDrawable ani; 
  @Override  protected void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);   setContentView(R.layout.activity_main);        //ImageView 객체 참조   img=(ImageView)findViewById(R.id.img);        //ImageView에 src 속성으로 설정된 pink_run이미지를 Drawable 객체로 얻어오기.    //Frame Aniamtion은 Drawable의 일종이으로 형변환 가능   ani=(AnimationDrawable)img.getDrawable();      //처음 시작하면 Run 애니메이션 실행   //pink_run.xml 리소스는 oneshot이 아니므로 계속 반복됨.   ani.start();       }    //onClick 속성이 지정된 View가 클릭되었을 때 자동으로 호출되는 콜백메소드  public void mOnClick(View v){      switch(v.getId()){   case R.id.btn_run:    //'RUN START' 버튼을 눌렀을 때 이전 Frame Animation이 진행중이면 정지    //Frame Animation은 한번 start()해주면 계속 Running 상태임.    //Frame Animation을 OneShot으로 하고 다시 시작하게 하고 싶다면    //이전 Frame Animation을 'stop'시켜야 함.    if(ani.isRunning()) ani.stop();        //ImageView에 pink_run.xml Drawable 리소스파일 세팅    img.setImageResource(R.drawable.pink_run);        //ImageView는 설정된 xml 리소스 파일을 Drawable 객체로 가지고 있으므로    //이를 다시 얻어옴.    ani=(AnimationDrawable)img.getDrawable();           //AnimationDrawable 객체에게    //Frame 변경을 시작하도록 함.    ani.start();           break;       case R.id.btn_jump:       //이전 Frame Animation이 진행중일 수도 있으므로 'stop'시켜야 함.    if(ani.isRunning()) ani.stop();        //ImageView에 pink_jump.xml Drawable 리소스파일 세팅    img.setImageResource(R.drawable.pink_jump);        //ImageView는 설정된 xml 리소스 파일을 Drawable 객체로 가지고 있으므로    //이를 다시 얻어옴.    ani=(AnimationDrawable)img.getDrawable();           //AnimationDrawable 객체에게    //Frame 변경을 시작하도록 함.    ani.start();        break;       case R.id.btn_attack:    //이전 Frame Animation이 진행중일 수도 있으므로 'stop'시켜야 함.    if(ani.isRunning()) ani.stop();        //ImageView에 pink_attack.xml Drawable 리소스파일 세팅    img.setImageResource(R.drawable.pink_attack);        //ImageView는 설정된 xml 리소스 파일을 Drawable 객체로 가지고 있으므로    //이를 다시 얻어옴.    ani=(AnimationDrawable)img.getDrawable();           //AnimationDrawable 객체에게    //Frame 변경을 시작하도록 함.    ani.start();        break;   }  } } |