我很难在Android中找到有关动画的好文档,但我设法让我的动画工作。我关注的方式是效率/性能。
我的目标是让云图像一遍又一遍地在屏幕上移动并永远重复。为此,我最终将2个相同的ImageView放在彼此之上并定义了2个动画:
cloud_slide_exit.xml:
<translate
android:fromYDelta="0"
android:toXDelta="-100%p"
android:duration="25000"
android:repeatCount="infinite"
android:repeatMode="restart"
/>
cloud_slide_enter.xml:
<translate
android:fromYDelta="0"
android:fromXDelta="100%p"
android:duration="25000"
android:repeatCount="infinite"
android:repeatMode="restart"
/>
我将第一个动画应用于“image1”,将第二个动画应用于“image2”。第一个动画将“image1”从右侧(屏幕上)移动到左侧(离屏),而第二个动画将“image2”(从屏幕开始)从右侧(离屏)移动到左侧(屏幕外)。查看两个动画时的最终结果是图像在屏幕上移动。当它到达屏幕的左端时,它将从屏幕的右侧开始。这是我能想到的唯一方法。
有没有更有效的方法来制作这个动画?我想找到一种更有效的方法,因为我实际上有3个云移动,这意味着我有6个ImageViews / TranslateAnimations。
答案 0 :(得分:0)
通过以下代码替换您的代码:
cloud_slide_exit.xml:
<translate
android:fromXDelta="100%p"
android:toXDelta="0%p"
android:duration="25000"
android:repeatCount="infinite"
android:repeatMode="restart"
/>
cloud_slide_enter.xml:
<translate
android:fromXDelta="100%p"
android:toXDelta="0%p"
android:duration="25000"
android:repeatCount="infinite"
android:repeatMode="restart"
/>