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

Android animation of image view moving and rotating

我想制作一个动画,将图像视图从屏幕的开头移动到结尾,并且每次都随机化 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% 但它并没有真正从屏幕的开头开始,也没有在屏幕的结尾结束。 提前感谢您的帮助!

要使动画从父对象[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 演示每个插值器的效果。

希望对您有所帮助。