如何定义翻转动画

时间:2011-07-22 15:35:49

标签: android animation

点击之后,我想像我的ImageView动画一样翻转。我的目的是将图像的宽度缩小到0,然后立即将其扩展回1.0。这应该模拟图像的翻转。

这就是我实际拥有的。点击图像后,它将图像从1.0缩小到0。

我的问题是如何继续扩展部分动画?

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:shareInterpolator="false">
    <scale
            android:interpolator="@android:anim/linear_interpolator"
            android:fromXScale="1.0"
            android:toXScale="0.0"
            android:fromYScale="1.0"
            android:toYScale="1.0"
            android:pivotX="50%"
            android:pivotY="50%"
            android:duration="200" />
 </set>

修改

我为动画的反向部分添加了另一个块,但它没有按预期工作。似乎startOffset没有生效或类似的东西。换句话说,动画是混乱的,似乎动画的第一部分也受到这个附加代码的影响。我做错了什么?

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:shareInterpolator="false">
    <scale
            android:interpolator="@android:anim/linear_interpolator"
            android:fromXScale="1.0"
            android:toXScale="0.0"
            android:fromYScale="1.0"
            android:toYScale="1.0"
            android:pivotX="50%"
            android:pivotY="50%"
            android:duration="200" />
    <set android:startOffset="200">
        <scale
            android:interpolator="@android:anim/linear_interpolator"
            android:fromXScale="0.0"
            android:toXScale="1.0"
            android:fromYScale="1.0"
            android:toYScale="1.0"
            android:pivotX="50%"
            android:pivotY="50%"
            android:duration="200" />
    </set>
 </set>

2 个答案:

答案 0 :(得分:1)

在你的第一组中埋葬另一个<set> <scale /> </set>,但在初始比例之后。这将使它们顺序发射。

请参阅此页面以获取示例。 http://developer.android.com/guide/topics/graphics/view-animation.html

答案 1 :(得分:1)

在接下来的R&amp; D之后,我发现这段代码完全符合我的要求。

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

    <scale
            android:fromXScale="1.0"
            android:toXScale="0.0"
            android:fromYScale="1.0"
            android:toYScale="1.0"
            android:pivotX="50%"
            android:pivotY="50%"
            android:duration="200"
            android:repeatCount="2"
            android:repeatMode="reverse"/>

    </set>

这意味着我将repeatModerepeatCount添加到动画定义中,这正如我预期的那样工作。