2011-02-26 163 views
2

我需要製作相當簡單的動畫:ImageView應該從左上角出現在中央,然後消失在右上角。這是我的XML代碼。問題是,當我添加第二個比例(最小化)時,ImageView返回到左上角。如果我刪除它然後ImageView正確地移動到右側。這裏有什麼問題?以2步縮放和翻譯動畫

<set> 
    <scale 
     android:fromXScale="0.0" 
     android:toXScale="1.0" 
     android:fromYScale="0.0" 
     android:toYScale="1.0" 
     android:pivotX="0" 
     android:pivotY="0" 
     android:duration="2000" /> 
    <translate 
     android:duration="2000" 
     android:fromXDelta="0" 
     android:fromYDelta="0"   
     android:toXDelta="30%p" 
     android:toYDelta="30%p" /> 
</set>   

<set> 
    <translate 
     android:startOffset="2000" 
     android:duration="2000" 
     android:fromXDelta="0%p" 
     android:fromYDelta="0%p"    
     android:toXDelta="70%p" 
     android:toYDelta="-25%p" /> 
    <scale 
     android:startOffset="2000" 
     android:duration="2000" 
     android:pivotX="0" 
     android:pivotY="0" 
     android:fromXScale="1.0" 
     android:toXScale="0.0" 
     android:fromYScale="1.0" 
     android:toYScale="0.0" /> 
</set> 

回答

0

它看起來像一個set動畫的順序會影響他們的行爲。

我沒有修改任何代碼,只是將第二個translate移動到第二個scale後面,動畫按預期工作。

<set> 
    <scale 
     android:fromXScale="0.0" 
     android:toXScale="1.0" 
     android:fromYScale="0.0" 
     android:toYScale="1.0" 
     android:pivotX="0" 
     android:pivotY="0" 
     android:duration="2000" /> 
    <translate 
     android:duration="2000" 
     android:fromXDelta="0" 
     android:fromYDelta="0" 
     android:toXDelta="30%p" 
     android:toYDelta="30%p" /> 
</set> 

<set> 
    <scale 
     android:startOffset="2000" 
     android:duration="2000" 
     android:pivotX="0" 
     android:pivotY="0" 
     android:fromXScale="1.0" 
     android:toXScale="0.0" 
     android:fromYScale="1.0" 
     android:toYScale="0.0" /> 
    <translate 
     android:startOffset="2000" 
     android:duration="2000" 
     android:fromXDelta="0%p" 
     android:fromYDelta="0%p" 
     android:toXDelta="70%p" 
     android:toYDelta="-25%p" /> 
</set>