使用ObjectAnimator在文本视图中翻译类似于股票代码的文本。我想按一下按钮暂停自动收报机。但是,尽管在动画对象上调用了cancel()/ end(),但是自动收报机会继续移动直到动画结束。
还尝试在AnimatorListerner#onAnimCancel()中明确清除基础textView上的所有动画。但是,基础textView似乎与任何动画都没有关联。
如果有人可以指出哪些会出错,那会很棒。
以下代码的相关部分。
anim = ObjectAnimator.ofFloat(mTextViewTicker, "TranslationX", 0, -mSomeValue);
anim.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationCancel(Animator animation) {
Log.d(TAG,"Animation Pause invoked");
super.onAnimationCancel(animation);
}
public void onAnimationEnd(Animator animation) {
Log.d(TAG,"Animation Ended");
((View)((ObjectAnimator)animation).getTarget()).setTranslationX(anim.getAnimatedFraction());
}
});
anim.start();
public void stopScroll() {
anim.cancel();
}
通过活动中的按钮单击调用stopScroll()。