2014-05-20 29 views
1

我需要我的兩個動畫連續重複播放,兩者之間沒有任何停頓。但是,每次它在動畫開始時都會加速,然後逐漸減速。即使使用linear_interpolator,XML動畫在開始和結束時也會加速和減速

我個XML:

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" > 

    <translate 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:duration="10000" 
     android:fromYDelta="-100%p" 
     android:interpolator="@android:anim/linear_interpolator" 
     android:repeatCount="infinite" 
     android:startOffset="0" 
     android:toYDelta="-1%p" /> 

</set> 



<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" > 

    <translate 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:duration="10000" 
     android:fromYDelta="0%p" 
     android:interpolator="@android:anim/linear_interpolator" 
     android:repeatCount="infinite" 
     android:toYDelta="99%p" 
     android:startOffset="0" /> 

</set> 

任何幫助表示讚賞。

注意:Deltas原來是100而不是99,0而不是1,但它並沒有幫助案件。

+0

嘗試將android:interpolator標記放在主集標記中。 Whitney

+0

這似乎很好用!謝謝:) – user3658385

+0

酷:)我會張貼作爲回答未來的人看看。 – Whitney

回答

1

將android:interpolator標記放在主集標記中。

< set xmlns:android =「schemas.android.com/apk/res/android」;因此,如果你看源代碼的AnimationSet(上下文,資源文件)的構造函數,默認將共享插值器設置爲true,即ie。如果此集合中的所有動畫應使用與此AnimationSet關聯的插補器,則傳遞true。如果每個動畫應該使用自己的插值器,則傳遞false。因此,您需要將插值器放置在該集上,而不是動畫片本身。