마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

TranslateAnimation속도 조절

0 추천
안녕하세요 초보 개발자입니다.

TranslateAnimation 을 사용해서 전광판 효과를 만들고있습니다.

그런데 TranslateAnimation 에서 속도조절을 하는 건 따로 없더군요

그래서 setduration 으로 사용해서 조절중인데요

문제는 애니메이션 도중 setduration 값을 변경했을경우인데요

느린상태에서 빠르게 변경하면 앞으로 건너뛰어서 빨라지고요

빠른상태에서 느리게 변경하면 뒤로 돌아가서 느려집니다.

  moveAnim.setDuration(time); // 애니메이션 동작시간
  moveAnim.setInterpolator(AnimationUtils.loadInterpolator(this, android.R.anim.linear_interpolator));
  moveAnim.setRepeatCount(Animation.INFINITE);
  moveAnim.setRepeatMode(Animation.RESTART);

time 은 seekbar를 이용해서 값을 변경하고있고요...

어떻게 해야 부드럽게 속도 전환이 가능할까요?

고수분들의 답변을 기다립니다
웰로우 (180 포인트) 님이 2015년 2월 12일 질문

2개의 답변

+1 추천
애니메이션 속도는 Interpolator로 변경할 수 있습니다.

다만 이미 시작된 애니메이션의 속도를 변경하는 것은 안됩니다.
익명사용자 님이 2015년 2월 12일 답변
0 추천
Animation 을 상속받는 custom animation 을 구현하셔야 합니다.

applyTransformation(float interpolatedTime, Transformation t)

을 상황에 맞게 구현하시면 동적인 속도 변경이 가능합니다.
mamondebaltob (32,750 포인트) 님이 2015년 2월 12일 답변
...