안드로이드 애니메이션을 자동 실행 하는 방법..
처음에는 onCreate에 start()를 하면 자동으로 실행 될줄 알았다.
그러나 자동으로 실행되어 지지 않아 핸들러를 이용하여 해보니 된다.
참고로 XML 에서 ImageView에 대해 src 이미지로 지정하지 말고 background로 해야 되는걸 명심하자.
--------------------------------------------------------------------------------------------
package kr.com.ani.test;
import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;
import android.widget.RelativeLayout;
ipublic class anitestActivity extends Activity {
/** Called when the activity is first created. */
private ImageView imageViewAniProgress1;
private ImageView imageViewAniProgress2;
private ImageView imageViewAniProgress3;
private ImageView imageViewAniProgress4;
private ImageView imageViewAniProgress5;
AnimationDrawable mAni1;
AnimationDrawable mAni2;
AnimationDrawable mAni3;
AnimationDrawable mAni4;
AnimationDrawable mAni5;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn=(Button)findViewById(R.id.btn);
RelativeLayout aniLayout = (RelativeLayout)findViewById(R.id.innerLayout2);
imageViewAniProgress1 = (ImageView)aniLayout.findViewById(R.id.uploadingStatusImg1);
imageViewAniProgress2 = (ImageView)aniLayout.findViewById(R.id.uploadingStatusImg2);
imageViewAniProgress3 = (ImageView)aniLayout.findViewById(R.id.uploadingStatusImg3);
imageViewAniProgress4 = (ImageView)aniLayout.findViewById(R.id.uploadingStatusImg4);
imageViewAniProgress5 = (ImageView)aniLayout.findViewById(R.id.uploadingStatusImg5);
mAni1 =(AnimationDrawable)imageViewAniProgress1.getBackground();
mAni2 =(AnimationDrawable)imageViewAniProgress2.getBackground();
mAni3 =(AnimationDrawable)imageViewAniProgress3.getBackground();
mAni4 =(AnimationDrawable)imageViewAniProgress4.getBackground();
mAni5 =(AnimationDrawable)imageViewAniProgress5.getBackground();
mHan.postDelayed(rr, 1000);
}
Handler mHan = new Handler();
Runnable rr = new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
mAni1.start();
mAni2.start();
mAni3.start();
mAni4.start();
mAni5.start();
}
};
}