我想建立一個TextViews的動畫,在完成之後重複它自己。如何使用ViewPropertyAnimator生成循環動畫?
,每個View我想動畫,我用的是下面這段代碼
final float oldX = v.getX();
final float newX = v.getX() - (float)totalWidth;
final AnimatorListenerAdapter listener = new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
v.setX(oldX);
animFinished = true;
//This line won't compile
//v.animate().setDuration(animDuration).setInterpolator(newsInterpolator)
// .setListener(listener).x(newX);
}
};
v.animate().setDuration(animDuration).setInterpolator(newsInterpolator)
.setListener(listener).x(newX);
我想最後的一段代碼到onAnimationEnd地方,但Java將無法編譯,因爲它考慮對象偵聽器未初始化。而且,我不認爲這個「遞歸」動畫調用是一個很好的解決方案,這是我首先想到的。我懷疑有一個簡單而又可靠的方法來實現循環屬性動畫,但我找不到它,所以我轉向這裏尋求幫助。
在此先感謝
你可以用'CycleInterpolator'。 看我的答案[這裏](http://stackoverflow.com/a/40385244/2093236)。 – Dmide 2016-11-02 16:42:58
我認爲「this」會代替監聽者使用,但是如果發生了這種情況,它可能會保留內存並泄漏。無論如何,我意識到這是近4歲了。 – 2017-03-28 19:36:30