在TextView上重复FadeOut

时间:2016-10-24 14:43:34

标签: android android-studio android-animation textview

当用户尝试做他们不应该做的事情时,我有一个TextView作为警告标签。我想让它在最后停留之前眨眼几次。 一旦工作正常我就会闪烁,但它不会重复动画。我的动画有什么问题吗?(因为我已经阅读了有关Android动画的其他问题,据说它们有效)

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,因为tWarningText是一个警告文本,我希望它留在那里直到他们对它做一些事情。

1 个答案:

答案 0 :(得分: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