0

사용자가하지 말아야 할 일을 시도 할 때 경고 레이블 역할을하는 TextView가 있습니다. 끝까지 거기에 머물기 전에 몇 번 깜박 거리고 싶습니다. 일단 제대로 작동하면 깜박이지만 애니메이션을 반복하지는 않습니다. 어떤 버튼을 누를 때 tWarningText이기 때문에TextView에서 FadeOut 반복

private void blink(int count){ 
    if(count>0) { 
     AnimationSet anime = new AnimationSet(true); 
     Animation anim = new AlphaAnimation(0.0f, 1.0f); 
     anim.setDuration(600); 
     Animation ani = new AlphaAnimation(1.0f, 0.0f); 
     ani.setDuration(600); 
     ani.setStartOffset(2000); 
     anime.addAnimation(anim); 
     anime.addAnimation(ani); 
     //anime.setStartOffset(0); 
     //anime.setStartTime(0); 
     //anime.setRepeatCount(Animation.INFINITE); 
     anime.setRepeatCount(count); 
     anime.setRepeatMode(Animation.RESTART); 
     anime.setFillAfter(true); 
     tWarningText.startAnimation(anime); 

    } 

} 

clearAnimation은 경고 텍스트, 음,,라고 (내가 안드로이드 애니메이션에 대한 다른 질문을 읽고 때문에 소문에 의하면 그들은 일) 내 애니메이션?에 문제가 있습니까 나는 그들이 그것에 관해 뭔가 할 때까지 거기에 머물러 있기를 원한다.

+1

사용자가 잘못되었을 때 깜박임을 10 번만 반복하려는 경우 setRepeatCount를 사용하여 – Omkar

답변

0

정해진 시간 후에 애니메이션을 지우는 대신 반복 횟수를 제한 할 수 있습니다. 이 또한 잘 작동합니다.

public void blink(View view, int count) { 
    Animation anim = new AlphaAnimation(0.0f, 1.0f); 
    anim.setDuration(50); 
    anim.setStartOffset(20); 
    anim.setRepeatMode(Animation.REVERSE); 
    anim.setRepeatCount(count); 
    view.startAnimation(anim); 
} 

는 사용법 : blink(textView, 10);

sany's answer에서 언급했다.

+0

을 반복하여 사용하지 않으면 무한 반복되도록 설정하면 반복하지 않기 때문에 setRepeatCount를 사용하여 깜박임을 반복하려는 경우 setRepeatCount (10)를 사용할 수 있습니다. 이것은 문제입니다 –

+0

'setStartOffset (20)'과'setDuration (50)'을 줄이고 애니메이션 세트 대신 단일 애니메이션을 사용하십시오. 제공된 정확한 방법을 사용하고 확인하십시오. – Omkar