Android/Etc.2010.12.17 15:15

참고 : http://developer.android.com/reference/android/graphics/drawable/AnimationDrawable.html

안드로이드는 animated GIF를 지원하지 않는다.

여러장의 PNG 이미지를 순차적으로 보여주는 형태로 Animation을 구성하여

animated GIF와 비슷한 효과를 줄 수가 있다.

public class Test extends Activity {
	private ImageView mLogoImageView;
	private AnimationDrawable logoAnimation;

	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.logo);

		mLogoImageView = (ImageView)findViewById(R.id.LogoImageView);
		mLogoImageView.setBackgroundResource(R.anim.logo_ani);
		
		logoAnimation = (AnimationDrawable) mLogoImageView.getBackground();

		new Handler().postDelayed(new Runnable() {
			public void run() {
				logoAnimation.start();
			}
		}, 100);
	}
}

딜레이를 주지 않고 start()를 할 경우 AnimationDrawable이 정상적으로 동작하지 않는다.
Activity에 GUI가 그려지고 이미지를 로드 하는데 시간이 걸리기 때문이다.

res/anim 폴더에 animation에 사용할 XML을 생성한다.

	
	
	
	


android:oneshot으로 반복 여부를 설정

사용할 PNG 파일은 drawable에 리소스 등록 되어 있어야 하며 android:drawable="PNG리소스ID"

android:duration="시간(ms)"로 한 프레임을 구성한다.

'Android > Etc.' 카테고리의 다른 글

animated GIF를 대체 AnimationDrawable(FrameAnimation)  (0) 2010.12.17
ProgressDialog를 이용한 Loading 구성  (0) 2010.12.17
App 종료  (0) 2010.11.25
SDCARD의 경로 가져오기  (0) 2010.11.25
앱에서 다른 앱을 실행  (0) 2010.11.25
Activity Lifecycle  (0) 2010.07.13
Posted by 회색꿈