我想制作一个动画,将图像视图从屏幕的开头移动到结尾,每次随机化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%它也不是真正从屏幕的开头开始并且不会结束在末尾。 感谢您提前提供任何帮助!
答案 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演示了每个插补器的效果。
希望这有帮助。