创建动画的最佳方式?

时间:2015-01-30 18:10:52

标签: android

我想为Android应用程序创建一个简单的动画。 我在ImageView(1900 x 1200)内有一个非常大的图像。此图像具有透明的小条纹,因此视图的背景在透明条纹内部可见。

基本上我现在需要背景为一种颜色,我需要一个从屏幕顶部移动到屏幕底部的小白条纹。应该无限重复。你可以把它想象成骑士骑士黑色汽车的前灯动画。

我尝试使用背景中的另一个图像来实现它,我这样移动:

    ObjectAnimator repeatAnimation = ObjectAnimator.ofFloat(this.imageViewLightFloatLeft, "y", -Helper.getDisplayHeight(this.getActivity()), Helper.getDisplayHeight(this.getActivity()));
    repeatAnimation.setDuration(2000);
    repeatAnimation.setRepeatCount(ObjectAnimator.INFINITE); 
    repeatAnimation.setRepeatMode(ObjectAnimator.RESTART);
    repeatAnimation.start();

不幸的是,这不是一个好的解决方案,因为它真的很难。正如我所提到的,我在前面有一个ImageView的大图像(1900 x 1200),它正在迅速减慢动画速度。

所以我需要另一种解决方案来做我想做的事情。 我该如何实现我的动画?

1 个答案:

答案 0 :(得分:0)

使用渐变作为视图的背景并为渐变设置动画:

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <gradient
        android:centerX="0.5"
        android:centerY="0.5"
        android:endColor="#000000"
        android:gradientRadius="1000"
        android:startColor="#85E9FF"
        android:type="radial" />

</shape>