2

我需要制作相当简单的动画:ImageView 应该从左上角到中心出现,然后在右上角消失。这是我的 XML 代码。问题是当我添加第二个比例(最小化)时 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

看起来 a 中的动画序列set会影响它们的行为。

我没有修改您的任何代码,只是将 2nd 移到 2ndtranslate后面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 回答