移动和旋转图像视图的Android动画

时间:2015-02-06 22:43:24

标签: android xml animation rotation imageview

我想制作一个动画,将图像视图从屏幕的开头移动到结尾,每次随机化x位置。我怎么能这样做?

 <set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator" >

<rotate
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromDegrees="0"
    android:toDegrees="359"
    android:pivotX="50%"
    android:pivotY="50%"
    android:duration="1000"
    android:repeatCount="infinite"
    />
<translate
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXDelta="0%"
    android:fromYDelta="0%"
    android:toYDelta="100%"
    android:repeatCount="infinite"
    android:duration="3000"
    ></translate>
    </set>

我不知道如何随机化X坐标,以及为什么即使我使用0%和100%它也不是真正从屏幕的开头开始并且不会结束在末尾。 感谢您提前提供任何帮助!

1 个答案:

答案 0 :(得分:2)

要使动画从父[p]对象的最顶部(y轴)部分开始并以默认位置结束,因此如果它没有动画,它将会是位置,修改你的翻译定义如下:

<translate
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromYDelta="-100%p"
    android:toYDelta="0"
    android:repeatCount="infinite"
    android:duration="3000">
    </translate>

如果您更喜欢从底部开始的动画,请使用:android:fromYDelta="100%p"

关于第二个问题,您可以使用属性android:interpolator来定义动画的节奏。

例如:

 androd:interpolator="@android:anim/bounce_interpolator"

Here is a short video演示了每个插补器的效果。

希望这有帮助。