2

かなり単純なアニメーションを作成する必要があります。ImageView は左上隅から中央に表示され、右上隅に消えます。これが私のXMLコードです。問題は、2 番目のスケール (最小化) を追加すると、ImageView が左上隅に戻ることです。それを削除すると、ImageView は正しく右側に移動します。ここで何が問題なのですか?

<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>

4

1 に答える 1

0

のアニメーションのシーケンスがset動作に影響を与える可能性があるようです。

私はあなたのコードを変更しませんでしたが、 2nd を 2nd の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>
于 2015-08-05T04:07:16.480 に答える