본문으로 바로가기
반응형

Thread를 이용한 Animation

Animation 제작시 Thread로 이미지를 교체하면서 애니메이션을 만들수 있습니다.
간단하게 여러장의 이미지를 Thread의 sleep을 이용하여 순차적으로 바꾸는 방식입니다.

개념상 어렵지 않으니 예제를 보면서 설명하겠습니다.

예제는 다음과 같은 순서로 만듭니다.
1. layout xml에 ImageSwitcher, Start 버튼, Stop 버튼 추가
2. onCreate에서 findView를 이용하여 객체 reference로 가져옴
3. Thread에서 ImageSwitcher를 이용하여 이미지 교체

ImageView를 이용하여 resource를 교체해도 상관은 없습니다만 ImageSwitcher는 이미지를 교체하면서 animation 효과를 줄 수 있습니다.

mSwitcher = (ImageSwitcher) findViewById(R.id.imageswitch);

mSwitcher.setFactory(new ViewSwitcher.ViewFactory() {
    @Override
    public View makeView() {
	ImageView view = new ImageView(getApplicationContext());
	view.setBackgroundColor(Color.WHITE);
	view.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
	view.setLayoutParams(
	      new ImageSwitcher.LayoutParams(
		  ViewGroup.LayoutParams.MATCH_PARENT, 
		  ViewGroup.LayoutParams.MATCH_PARENT));
	return view;
    }
});

mSwitcher.setInAnimation(this, android.R.anim.fade_in);
mSwitcher.setOutAnimation(this, android.R.anim.fade_out);

ImagerSwitcher의 id로 객체 reference를 만든다음 setFactory()로 ImageView를 생성합니다.
추가적으로 setInAnimation()과 setOutAnimation()으로 animation 효과를 줄 수 있습니다.

Thread 부분은 어렵지 않으니, 전체 소스에서 쉽게 파악할 수 있습니다


반응형

'개발이야기 > Android' 카테고리의 다른 글

Android Service간 통신 #1  (6) 2017.10.10
Android 애니메이션#2 - Tweened Animation  (2) 2017.10.09
SSL  (0) 2017.10.08
Android 프로젝트 Stan에서 보기  (0) 2017.10.07
시작  (0) 2017.09.09