1

我想我的動畫只旋轉了一圈。每次我調整持續時間時,它會以相同的速度旋轉更長/更慢。我哪裏錯了?旋轉動畫速度

private static final float ROTATE_FROM = 0.0f; 
private static final float ROTATE_TO = -10.0f * 360.0f; 
protected RotateAnimation r = new RotateAnimation(ROTATE_FROM, ROTATE_TO, 
             Animation.RELATIVE_TO_SELF, 0.5f, 
             Animation.RELATIVE_TO_SELF, 0.5f); 
r.setDuration(5000);  
r.setRepeatCount(0); 
r.setInterpolator(this, android.R.anim.linear_interpolator); 
r.setAnimationListener(AndroidVideoPlayer.this);   
favicon.startAnimation(r); 

回答

1

這是這是問題的-10.0f!

2

我相信你正在尋找的是repeatCount

r.setRepeatCount(0) 

http://developer.android.com/reference/android/view/animation/Animation.html#setRepeatCount(int

從文檔:

設置多少次動畫應該重複。如果重複 計數爲0,則動畫不會重複。如果重複計數大於0或無限 ,重複模式將予以考慮 。重複計數默認爲0。

或者你是說動畫繼續旋轉任何你設置的duration? (即,您將它設置爲5000,即使超過「結束」,它也會旋轉5秒)。如果將該值設置爲小於旋轉動畫所需的時間,該怎麼辦?

在這種情況下,它可能是你LinearInterpolator多數民衆贊成對動畫恆定的變化率。您也許可以打印computeDurationHint()的值來查看應用程序是否能夠猜測持續時間應該有多長。

P.S.你的ROTATE_FROMROTATE_TO值是什麼?

+0

嗨,我有那裏,我不想它只重複旋轉一次 – Jonno

+0

我添加了我的價值觀。我也猜測這是一個內插器問題! – Jonno

+1

那麼現在我看到你的值了,是'ROTATE_TO'中的'-10.0f'一個錯字?我沒有嘗試,但似乎有點關閉 - 也許它是多次。就像滑雪板一樣。無論如何,如果你找出解決問題的方法,請添加後續評論,這樣下一個發生在頁面上的人就能看到答案。 – dustmachine