在onClickListener上,我开始对textView(图标)进行动画。
Animation anim = AnimationUtils
.loadAnimation(activity.getBaseContext(), R.anim.rotate_refresh);
icon.startAnimation(anim);
再次点击时,我想检查一下,如果图标在动画(旋转),就保持这个状态,否则就重新开始动画。
我想知道如何检查textview是否在动画中?
也许可以试试这样的方法
Animation animation = icon.getAnimation();
if(animation != null && animation.hasStarted() && !animation.hasEnded()){
//do what you need to do if animating
}
else{
//start animation again
}
这一行将让你知道TextView是否是动画的。
Animation animation=textView.getAnimation();
它很可能会按照你的意愿为你工作。
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。很容易检查 isInBetweenAnim
在 onClick
你的按钮,你可以为它编码。
希望它的工作 愉快的编码...
如果你有多个视图,可以在一个视图上启动动画,你必须关注动画视图,而不是动画。
我有多个info imageViews,在一个textView中显示帮助文本。为了避免在textView上出现多个动画,我使用了Arun的方法。
if (helpTextView.getAnimation() == null) {
helpTextView.startAnimation(helpAnimation);
}