interpolator: 에니메이션이 일어나는 동안의 횟수,속도를 조절하거나 시작과 종료시의
효과를 추가 할 수 있다.
(점점 빨라지는 에니메이션, 종료시 스프링처럼 바운딩 되는 에니메이션 등..)
보통 안드로이드에 이미 정의되어 있는 "@android:anim/..." interpolator를 사용하나
특정 값은 변경할 수 있다.
예 ) cycle_interpolator 의 반복수 변경 : res/anim/cycle_test.xml
<cycleInterpolator xmlns:android="http://schemas.android.com/apk/res/android"
android:cycles="7" />
구글 샘플 프로젝트
animation > interpolators
텍스트 뷰를 좌에서 우로 에니메이션 시키는 예제..
1. 레이아웃중 에니메이션 시킬 뷰와 부모 뷰를 얻는다.
final View target = findViewById( R.id.target );
final View parent = (View) target.getParent();
2. 이동 에니메이션 객체를 생성한다.
Animation a = new TranslateAnimation(0.0f,
parent.getWidth() - target.getWidth() - parent.getPaddingLeft() - parent.getPaddingRight(), 0.0f, 0.0f);
//에니메이션 설정
a.setDuration(1000);
a.setStartOffset(300);
a.setRepeatMode(Animation.RESTART);
a.setRepeatCount(Animation.INFINITE);
3. 에니메이션별 interpolator 설정
미리 정의된 안드로이드 에니메이션 설정을 얻는다.
a.setInterpolator( AnimationUtils.loadInterpolator( this, android.R.anim.식별자) );
식별자
- 일정하게 : linear_interpolator
- 점점빠르게 : accelerate_interpolator
- 점점 느리게 이동 : decelerate_interpolator
- 위 둘을 동시에 : accelerate_decelerate_interpolator
- 시작위치에서 조금 뒤로 당겼다 이동 : anticipate_interpolator
- 도착위치를 조금 지나쳤다가 도착위치로 이동 : overshoot_interpolator
- 위 둘을 동시에 : anticipate_overshoot_interpolator
- 도착위치에서 튕김 : bounce_interpolator
- 반복 : cycle_interpolator
'프로그래밍 > Android' 카테고리의 다른 글
서비스1 - 로컬서비스 (0) | 2009.12.22 |
---|---|
LayoutInflater를 사용해 레이아웃 구성하기 (0) | 2009.12.15 |
액티비티 변경 에니메이션 (0) | 2009.12.06 |
Animation 관련 샘플 (0) | 2009.12.06 |
ViewFlipper로 뷰 교체하기 (0) | 2009.12.06 |
커스텀속성과 R.styleable (0) | 2009.11.25 |
Splash window 보이기 (0) | 2009.11.24 |
TextButton 만들기 (0) | 2009.11.22 |
버튼 상태에 따른 배경변경 (0) | 2009.11.22 |
에니메이션 처리하기 (0) | 2009.11.19 |