2014-07-07 63 views
0

我想翻譯垂直軸上的ImageView,然後是水平的。Android翻譯ImageView動畫無法正常工作

這是我的translate.xml代碼:

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fillAfter="true" 
    android:interpolator="@android:anim/linear_interpolator" > 

    <translate 
     android:fillAfter="true" 
     android:fromYDelta="0%" 
     android:toYDelta="180%" 
     android:fromXDelta="50%" 
     android:toXDelta="50%" 
     android:duration="1500"> 
    </translate> 

    <translate 
     android:fillAfter="true" 
     android:fromXDelta="0%" 
     android:toXDelta="-200%" 
     android:duration="1500"> 
    </translate> 



    </set> 

從Myactivity.java的代碼:

ImageView的IMG1 =(ImageView的)findViewById(R.id.ImageView1);

anim_translate = AnimationUtils.loadAnimation(getApplicationContext(),translate); 

//load animation 
Img1.startAnimation(anim_translate); 

我希望圖像向下移動,然後左移,但它只移動到左角,一次。 謝謝!

+0

您是否嘗試過這個分成兩個動畫?您可以在完成第一個動畫時註冊偵聽器,然後開始第二個動畫。 – helleye

+0

現在已經解決了,謝謝!我爲動畫的每個部分添加了一個android:startOffset。 – Krasiva

+1

您可以分享最終的解決方案,以便其他人可以使用它:) – helleye

回答

0

解決的辦法是:

<translate 
    android:fromYDelta="0%" 
    android:toYDelta="170%" 
    android:fromXDelta="50%" 
    android:toXDelta="50%" 
    android:duration="1500" 
    android:fillAfter="true"> 
</translate> 

<translate 
    android:startOffset="1500" 
    android:fillAfter="true" 
    android:fromXDelta="0%" 
    android:toXDelta="-200%" 
    android:duration="1500"> 
</translate>