如何知道一个TextView是否在动画中?

问题描述 投票:3回答:4

在onClickListener上,我开始对textView(图标)进行动画。

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

再次点击时,我想检查一下,如果图标在动画(旋转),就保持这个状态,否则就重新开始动画。

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

android textview
4个回答
5
投票

也许可以试试这样的方法

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

5
投票

这一行将让你知道TextView是否是动画的。

Animation animation=textView.getAnimation();

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 true,其余的则为false。很容易检查 isInBetweenAnimonClick 你的按钮,你可以为它编码。

希望它的工作 愉快的编码...


0
投票

如果你有多个视图,可以在一个视图上启动动画,你必须关注动画视图,而不是动画。

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

    if (helpTextView.getAnimation() == null) {
        helpTextView.startAnimation(helpAnimation);
    }
© www.soinside.com 2019 - 2024. All rights reserved.