안녕하세요 초보개발자입니다.
애니메이션을 사용해서 전광판 효과를 만드는중인데요
TranslateAnimation과 AlphaAnimation을 Animationset 을사용하여 함께 쓰는중입니다.
문제는 각 애니메이션의 duration이나 좌표값을 계속 바꿔주고 있는데요
값을 바꿔준 후 setAnimation하면 애니메이션이 처음부터 다시시작합니다.
저는 흐르고있는 상태 그대로 속도를 빠르게 혹은 느리게 바꿔주고 싶은건데요...
private void Animate(TextView textView) {
AnimationSet set = new AnimationSet(true);
Animation Alphaanim = alphaAnimation(time1);
Animation Moveanim = moveAnimation(time2);
set.addAnimation(Alphaanim);
set.addAnimation(Moveanim);
textView.setAnimation(set);
}
private Animation alphaAnimation(int blink) {
// 깜빡임 Animation
long time = ((5 - blink) * 500) / 2;
Animation alphaAnim = new AlphaAnimation(1.0f, 0.0f); // 투명도를 조절. 페이드아웃
if (blink == 0)
alphaAnim = new AlphaAnimation(1.0f, 1.0f);
alphaAnim.setInterpolator(AnimationUtils.loadInterpolator(this, android.R.anim.linear_interpolator));
alphaAnim.setDuration(time); // 애니메이션 동작시간 0.1초
alphaAnim.setRepeatCount(Animation.INFINITE);
alphaAnim.setRepeatMode(Animation.REVERSE);
return alphaAnim;
}