Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 创建动画的最佳方式?_Android - Fatal编程技术网

Android 创建动画的最佳方式?

Android 创建动画的最佳方式?,android,Android,我想为我的Android应用程序创建一个简单的动画。 我在ImageView 1900 x 1200中有一个非常大的图像。此图像具有透明的小条纹,因此视图的背景在透明条纹内可见 基本上我现在需要的背景是一种颜色,我需要一个小的白色条纹从屏幕顶部移动到屏幕底部。这应该无限重复。你可以想象它就像《骑士》中黑色汽车的前灯动画 我尝试在背景中使用另一个图像来实现这一点,我像这样移动: ObjectAnimator repeatAnimation = ObjectAnimator.ofFloat(

我想为我的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的大图像,它使动画速度迅速减慢

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

使用渐变作为视图的背景,并为渐变设置动画,可以实现以下效果:

<?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>