Android 在不同的时间、不同的元素中使用相同的动画

Android 在不同的时间、不同的元素中使用相同的动画,android,animation,translate-animation,Android,Animation,Translate Animation,我有几个要设置动画的TextView。我想使用相同的动画,但每个文本视图的开始时间不同。我搜索了一下,但找不到方法。我尝试了setStartOffset,但似乎没有按照指示使用。有人能帮我吗? 这是我的代码: TranslateAnimation animation = new TranslateAnimation( Animation.ABSOLUTE, 0.0f, Animation.ABSOLUTE, 0.0f, Animation.ABSOLUTE, -1500.

我有几个要设置动画的TextView。我想使用相同的动画,但每个文本视图的开始时间不同。我搜索了一下,但找不到方法。我尝试了setStartOffset,但似乎没有按照指示使用。有人能帮我吗? 这是我的代码:

    TranslateAnimation animation = new TranslateAnimation(
    Animation.ABSOLUTE, 0.0f, Animation.ABSOLUTE, 0.0f,
    Animation.ABSOLUTE, -1500.0f, Animation.ABSOLUTE, 0.0f);
    animation.setDuration(3000);
    tvNumero1.startAnimation(animation);

    //this fails:
    animation.setStartOffset(300);
    tvNumero2.startAnimation(animation);

我为元素创建了不同的动画,或者,您可以使用xml资源中的动画。代码如下:

//First Animation
TranslateAnimation animation = new TranslateAnimation(
    Animation.ABSOLUTE, 0.0f, Animation.ABSOLUTE, 0.0f,
    Animation.ABSOLUTE, -1500.0f, Animation.ABSOLUTE, 0.0f);
animation.setDuration(3000);
tvNumero1.startAnimation(animation);

//Second Animation
TranslateAnimation animation2 = new TranslateAnimation(
    Animation.ABSOLUTE, 0.0f, Animation.ABSOLUTE, 0.0f,
    Animation.ABSOLUTE, -1500.0f, Animation.ABSOLUTE, 0.0f);
animation2.setDuration(3000);
animation2.setStartOffset(300);
tvNumero2.startAnimation(animation2);
或者,可以在XML文件中定义动画:

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="3000"
    android:fromYDelta="-1500"
    android:toYDelta="0" >

</translate>

上一段代码它似乎在等待偏移量,然后开始整个动画,我将其更改为3秒,这3秒才开始。

我为元素创建了不同的动画,或者,您可以使用xml资源中的动画。代码如下:

//First Animation
TranslateAnimation animation = new TranslateAnimation(
    Animation.ABSOLUTE, 0.0f, Animation.ABSOLUTE, 0.0f,
    Animation.ABSOLUTE, -1500.0f, Animation.ABSOLUTE, 0.0f);
animation.setDuration(3000);
tvNumero1.startAnimation(animation);

//Second Animation
TranslateAnimation animation2 = new TranslateAnimation(
    Animation.ABSOLUTE, 0.0f, Animation.ABSOLUTE, 0.0f,
    Animation.ABSOLUTE, -1500.0f, Animation.ABSOLUTE, 0.0f);
animation2.setDuration(3000);
animation2.setStartOffset(300);
tvNumero2.startAnimation(animation2);
或者,可以在XML文件中定义动画:

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="3000"
    android:fromYDelta="-1500"
    android:toYDelta="0" >

</translate>

上一段代码它似乎在等待偏移量,然后开始整个动画,我将其更改为3秒,这3秒才开始。

我为元素创建了不同的动画,或者,您可以使用xml资源中的动画。代码如下:

//First Animation
TranslateAnimation animation = new TranslateAnimation(
    Animation.ABSOLUTE, 0.0f, Animation.ABSOLUTE, 0.0f,
    Animation.ABSOLUTE, -1500.0f, Animation.ABSOLUTE, 0.0f);
animation.setDuration(3000);
tvNumero1.startAnimation(animation);

//Second Animation
TranslateAnimation animation2 = new TranslateAnimation(
    Animation.ABSOLUTE, 0.0f, Animation.ABSOLUTE, 0.0f,
    Animation.ABSOLUTE, -1500.0f, Animation.ABSOLUTE, 0.0f);
animation2.setDuration(3000);
animation2.setStartOffset(300);
tvNumero2.startAnimation(animation2);
或者,可以在XML文件中定义动画:

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="3000"
    android:fromYDelta="-1500"
    android:toYDelta="0" >

</translate>

上一段代码它似乎在等待偏移量,然后开始整个动画,我将其更改为3秒,这3秒才开始。

我为元素创建了不同的动画,或者,您可以使用xml资源中的动画。代码如下:

//First Animation
TranslateAnimation animation = new TranslateAnimation(
    Animation.ABSOLUTE, 0.0f, Animation.ABSOLUTE, 0.0f,
    Animation.ABSOLUTE, -1500.0f, Animation.ABSOLUTE, 0.0f);
animation.setDuration(3000);
tvNumero1.startAnimation(animation);

//Second Animation
TranslateAnimation animation2 = new TranslateAnimation(
    Animation.ABSOLUTE, 0.0f, Animation.ABSOLUTE, 0.0f,
    Animation.ABSOLUTE, -1500.0f, Animation.ABSOLUTE, 0.0f);
animation2.setDuration(3000);
animation2.setStartOffset(300);
tvNumero2.startAnimation(animation2);
或者,可以在XML文件中定义动画:

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="3000"
    android:fromYDelta="-1500"
    android:toYDelta="0" >

</translate>

前面的代码似乎在等待偏移量,然后开始整个动画,我将其更改为3秒,开始需要3秒。

您是否尝试过定义两个动画对象,每个对象一个?由于Android已经为您提供了正在使用的偏移量,处理程序方法可能做得过火了。您是否尝试过定义两个动画对象,每个对象一个?由于Android已经为您提供了正在使用的偏移量,处理程序方法可能做得过火了。您是否尝试过定义两个动画对象,每个对象一个?由于Android已经为您提供了正在使用的偏移量,处理程序方法可能做得过火了。您是否尝试过定义两个动画对象,每个对象一个?处理程序方法可能做得太过分了,因为Android已经提供了正在使用的偏移量。非常感谢Toguard。他在找的。代码的选择已经考虑过了,但是我需要一些使用更少代码的东西,因为我需要很多相同的动画(这是一场元素雨)。XML代码的选择是完美的。非常感谢您抽出时间,非常感谢您的关照。他在找的。代码的选择已经考虑过了,但是我需要一些使用更少代码的东西,因为我需要很多相同的动画(这是一场元素雨)。XML代码的选择是完美的。非常感谢您抽出时间,非常感谢您的关照。他在找的。代码的选择已经考虑过了,但是我需要一些使用更少代码的东西,因为我需要很多相同的动画(这是一场元素雨)。XML代码的选择是完美的。非常感谢您抽出时间,非常感谢您的关照。他在找的。代码的选择已经考虑过了,但是我需要一些使用更少代码的东西,因为我需要很多相同的动画(这是一场元素雨)。XML代码的选择是完美的。非常感谢您抽出时间