如何知道TextView是否处于动画状态?

时间:2015-03-25 08:28:37

标签: android textview

on onClickListener,我在textView(icon)上启动动画

Animation anim = AnimationUtils
          .loadAnimation(activity.getBaseContext(), R.anim.rotate_refresh);
icon.startAnimation(anim);

再次点击,我想检查,如果图标是动画(旋转),保持这种方式,或者再次开始动画。

我想知道如何检查textview是否在动画中?

4 个答案:

答案 0 :(得分:4)

也许尝试这样的事情

Animation animation = icon.getAnimation();
if(animation != null && animation.hasStarted() && !animation.hasEnded()){
    //do what you need to do if animating
}
else{
    //start animation again
}

答案 1 :(得分:4)

此行会通知您TextView是否为动画

Animation animation=textView.getAnimation();

答案 2 :(得分:0)

这很可能对你有用。

boolean isInBetweenAnim = false;
anim.setAnimationListener(new Animation.AnimationListener() {
    @Override
    public void onAnimationStart(Animation animation) {
        isInBetweenAnim = true;
    }

    @Override
    public void onAnimationEnd(Animation animation) {
        isInBetweenAnim = false;
    }

    @Override
    public void onAnimationRepeat(Animation animation) {

    }
});

因此,每当动画开始时,您都会isInBetweenAnim为真,如果是休息,则会让它变为假。轻松查看按钮isInBetweenAnimonClick的值,然后就可以为其编码。

希望它有效!快乐的编码..

答案 3 :(得分:0)

如果您有多个视图可以在一个视图上启动动画,则必须专注于动画视图,而不是动画。

我有多个信息imageViews,它们在textView中显示帮助文本。为了避免在textView上出现多个动画,我使用了Arun的方法:

    if (helpTextView.getAnimation() == null) {
        helpTextView.startAnimation(helpAnimation);
    }