Most visited

Recently visited

Added in API level 11

ValueAnimator

public class ValueAnimator
extends Animator

java.lang.Object
   ↳ android.animation.Animator
     ↳ android.animation.ValueAnimator
Known Direct Subclasses


这个类提供了一个简单的计时引擎,用于运行计算动画值并将它们设置到目标对象上的动画。

所有动画都有一个定时脉冲。 它在自定义处理程序中运行,以确保在UI线程上发生属性更改。

默认情况下,ValueAnimator使用非线性时间插值,通过AccelerateDecelerateInterpolator类加速进入动画并减速。 通过调用setInterpolator(TimeInterpolator)可以更改此行为。

动画师可以从代码或资源文件中创建。 这是一个ValueAnimator资源文件的例子:

<animator xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="1000"
    android:valueFrom="1"
    android:valueTo="0"
    android:valueType="floatType"
    android:repeatCount="1"
    android:repeatMode="reverse"/>

也可以使用PropertyValuesHolderKeyframe资源标签的组合来创建多步骤动画。 请注意,您可以为每个关键帧指定显式小数值(从0到1),以确定在整个持续时间内动画何时应达到该值。 或者,您可以关闭分数,关键帧将在总时长内平均分配:

<animator xmlns:android="http://schemas.android.com/apk/res/android"
          android:duration="1000"
          android:repeatCount="1"
          android:repeatMode="reverse">
    <propertyValuesHolder>
        <keyframe android:fraction="0" android:value="1"/>
        <keyframe android:fraction=".2" android:value=".4"/>
        <keyframe android:fraction="1" android:value="0"/>
    </propertyValuesHolder>
</animator>

Developer Guides

有关使用 ValueAnimator动画 ValueAnimator更多信息,请阅读 Property Animation开发人员指南。

Summary

Nested classes

interface ValueAnimator.AnimatorUpdateListener

此接口的实现者可以将其自身作为更新侦听器添加到ValueAnimator实例,以便在针对该ValueAnimator计算了当前帧的值之后,在每个动画帧上接收回调。

Constants

int INFINITE

此值与 setRepeatCount(int)属性一起使用,以无限期地重复动画。

int RESTART

当动画结束并且 repeatCount为无限或正值时,动画从头开始重新开始。

int REVERSE

当动画结束并且 repeatCount为无限或正值时,动画在每次迭代中反转方向。

Inherited constants

From class android.animation.Animator

Public constructors

ValueAnimator()

创建一个新的ValueAnimator对象。

Public methods

void addUpdateListener(ValueAnimator.AnimatorUpdateListener listener)

将侦听器添加到在动画生命周期中发送更新事件的侦听器组。

void cancel()

取消动画。

ValueAnimator clone()

创建并返回此对象的副本。

void end()

结束动画。

float getAnimatedFraction()

返回当前动画分数,它是动画上最近帧更新中使用的已用/插值分数。

Object getAnimatedValue()

当只有一个属性正在动画时,由此 ValueAnimator计算的最新值。

Object getAnimatedValue(String propertyName)

ValueAnimatorpropertyName计算的最新值。

long getCurrentPlayTime()

及时获取动画的当前位置,等于当前时间减去动画开始的时间。

long getDuration()

获取动画的长度。

static long getFrameDelay()

动画每帧之间的时间量(以毫秒为单位)。

TimeInterpolator getInterpolator()

返回此ValueAnimator使用的定时插补器。

int getRepeatCount()

定义动画应该重复的次数。

int getRepeatMode()

定义此动画在到达结尾时应该执行的操作。

long getStartDelay()

调用 start()后延迟启动动画的时间量(以毫秒为单位)。

long getTotalDuration()

获取动画的总持续时间,计算动画序列,启动延迟和重复。

PropertyValuesHolder[] getValues()

返回此ValueAnimator动画之间的值。

boolean isRunning()

返回此Animator当前是否正在运行(已经启动并且已经超过了任何初始启动延迟期并且尚未结束)。

boolean isStarted()

返回此Animator是否已启动且尚未结束。

static ValueAnimator ofArgb(int... values)

构造并返回一个在颜色值之间进行动画处理的ValueAnimator。

static ValueAnimator ofFloat(float... values)

构造并返回一个在浮动值之间动画的ValueAnimator。

static ValueAnimator ofInt(int... values)

构造并返回在int值之间动画的ValueAnimator。

static ValueAnimator ofObject(TypeEvaluator evaluator, Object... values)

构造并返回在对象值之间动画的ValueAnimator。

static ValueAnimator ofPropertyValuesHolder(PropertyValuesHolder... values)

构造并返回一个在PropertyValuesHolder对象中指定的值之间进行动画处理的ValueAnimator。

void pause()

暂停正在运行的动画。

void removeAllUpdateListeners()

删除监听此动画帧更新的所有监听器。

void removeUpdateListener(ValueAnimator.AnimatorUpdateListener listener)

从侦听此动画帧更新的设备中删除侦听器。

void resume()

恢复暂停的动画,导致动画制作者在暂停时停止播放。

void reverse()

反向播放ValueAnimator。

void setCurrentFraction(float fraction)

将动画的位置设置为指定的分数。

void setCurrentPlayTime(long playTime)

将动画的位置设置为指定的时间点。

ValueAnimator setDuration(long duration)

设置动画的长度。

void setEvaluator(TypeEvaluator value)

计算此动画的动画值时使用的类型评估程序。

void setFloatValues(float... values)

设置将在之间动画的浮动值。

static void setFrameDelay(long frameDelay)

动画每帧之间的时间量(以毫秒为单位)。

void setIntValues(int... values)

设置将在之间进行动画处理的int值。

void setInterpolator(TimeInterpolator value)

用于计算此动画的已用部分的时间插值器。

void setObjectValues(Object... values)

为此动画设置动画值。

void setRepeatCount(int value)

设置动画应重复多少次。

void setRepeatMode(int value)

定义此动画在到达结尾时应该执行的操作。

void setStartDelay(long startDelay)

调用 start()后延迟启动动画的时间量(以毫秒为单位)。

void setValues(PropertyValuesHolder... values)

设置每个属性的值,之间进行动画处理。

void start()

开始这个动画。

String toString()

返回对象的字符串表示形式。

Inherited methods

From class android.animation.Animator
From class java.lang.Object

Constants

INFINITE

Added in API level 11
int INFINITE

此值与 setRepeatCount(int)属性一起使用,以无限期地重复动画。

常量值:-1(0xffffffff)

RESTART

Added in API level 11
int RESTART

当动画到达结尾并且 repeatCount为无限或正值时,动画将从头开始重新开始。

常数值:1(0x00000001)

REVERSE

Added in API level 11
int REVERSE

当动画到达结尾, repeatCount为无限或正值时,动画在每次迭代中反转方向。

常量值:2(0x00000002)

Public constructors

ValueAnimator

Added in API level 11
ValueAnimator ()

创建一个新的ValueAnimator对象。 这个默认的构造函数主要用于内部; 采用参数的工厂方法通常更有用。

Public methods

addUpdateListener

Added in API level 11
void addUpdateListener (ValueAnimator.AnimatorUpdateListener listener)

将侦听器添加到在动画生命周期中发送更新事件的侦听器组。 在计算出动画的值后,将为动画的每个帧在所有侦听器上调用此方法。

Parameters
listener ValueAnimator.AnimatorUpdateListener: the listener to be added to the current set of listeners for this animation.

cancel

Added in API level 11
void cancel ()

取消动画。 end()不同, cancel()导致动画在其轨道上停止,向其听众发送onAnimationCancel(Animator) ,然后发送onAnimationEnd(Animator)消息。

必须在运行动画的线程上调用此方法。

clone

Added in API level 11
ValueAnimator clone ()

创建并返回此对象的副本。 “复制”的确切含义可能取决于对象的类别。 一般意图是,对于任何对象x ,表达式:

 x.clone() != x
will be true, and that the expression:
 x.clone().getClass() == x.getClass()
will be true, but these are not absolute requirements. While it is typically the case that:
 x.clone().equals(x)
will be true, this is not an absolute requirement.

按照惯例,返回的对象应该通过调用super.clone获得。 如果一个类和它的所有超类( Object除外)都遵守这个约定,那将是x.clone().getClass() == x.getClass()

按照惯例,这个方法返回的对象应该独立于这个对象(被克隆)。 为了实现这种独立性,可能有必要在返回super.clone之前修改对象的一个或多个字段。 通常,这意味着复制包含被克隆对象的内部“深层结构”的任何可变对象,并将这些对象的引用替换为对这些副本的引用。 如果一个类只包含原始字段或对不可变对象的引用,那么通常情况下,不需要修改super.clone返回的对象中的字段。

Object的方法clone执行特定的克隆操作。 首先,如果该对象的类没有实现接口Cloneable ,则引发CloneNotSupportedException 请注意,所有数组都被认为实现了接口Cloneable并且数组类型T[]clone方法的返回类型是T[] ,其中T是任何引用或基本类型。 否则,此方法创建该对象的类的新实例,并使用该对象的相应字段的内容来初始化其所有字段,就像通过赋值一样; 这些字段的内容本身并不克隆。 因此,此方法执行此对象的“浅拷贝”,而不是“深拷贝”操作。

Object本身并不实现接口 Cloneable ,所以在类 Object的对象上调用 clone方法将导致在运行时抛出异常。

Returns
ValueAnimator a clone of this instance.

end

Added in API level 11
void end ()

结束动画。 这会导致动画分配正在动画的属性的最终值,然后在其侦听器上调用onAnimationEnd(Animator)方法。

必须在运行动画的线程上调用此方法。

getAnimatedFraction

Added in API level 12
float getAnimatedFraction ()

返回当前动画分数,它是动画上最近帧更新中使用的已用/插值分数。

Returns
float Elapsed/interpolated fraction of the animation.

getAnimatedValue

Added in API level 11
Object getAnimatedValue ()

当只有一个属性为动画时,此ValueAnimator计算出的最新值。 这个值只在动画运行时才有意义。 该只读属性的主要目的是检索来自所述值ValueAnimator到在呼叫期间onAnimationUpdate(ValueAnimator) ,这是每个动画帧期间调用,则该值被计算之后立即。

Returns
Object animatedValue The value most recently calculated by this ValueAnimator for the single property being animated. If there are several properties being animated (specified by several PropertyValuesHolder objects in the constructor), this function returns the animated value for the first of those objects.

getAnimatedValue

Added in API level 11
Object getAnimatedValue (String propertyName)

ValueAnimatorpropertyName计算的最近值。 该只读属性的主要目的是检索来自所述值ValueAnimator到在呼叫期间onAnimationUpdate(ValueAnimator) ,这是每个动画帧期间调用,则该值被计算之后立即。

Parameters
propertyName String
Returns
Object animatedValue The value most recently calculated for the named property by this ValueAnimator.

getCurrentPlayTime

Added in API level 11
long getCurrentPlayTime ()

及时获取动画的当前位置,等于当前时间减去动画开始的时间。 尚未开始的动画将返回零值,除非动画的播放时间通过setCurrentPlayTime(long)setCurrentFraction(float)设置,在这种情况下,它将返回设置的时间。

Returns
long The current position in time of the animation.

getDuration

Added in API level 11
long getDuration ()

获取动画的长度。 默认持续时间是300毫秒。

Returns
long The length of the animation, in milliseconds.

getFrameDelay

Added in API level 11
long getFrameDelay ()

动画每帧之间的时间量(以毫秒为单位)。 这是动画尝试遵守的请求时间,但帧之间的实际延迟可能不同,具体取决于系统负载和功能。 这是一个静态函数,因为相同的延迟将应用于所有动画,因为它们都是从单个定时循环中运行的。 当动画系统使用外部定时源(例如显示刷新率(vsync))来管理动画时,帧延迟可能会被忽略。 请注意,应该从调用start()的相同线程调用此方法,以检查该动画的帧延迟。 如果调用线程没有Looper,则会引发运行时异常。

Returns
long the requested time between frames, in milliseconds

getInterpolator

Added in API level 11
TimeInterpolator getInterpolator ()

返回此ValueAnimator使用的定时插补器。

Returns
TimeInterpolator The timing interpolator for this ValueAnimator.

getRepeatCount

Added in API level 11
int getRepeatCount ()

定义动画应该重复的次数。 默认值是0。

Returns
int the number of times the animation should repeat, or INFINITE

getRepeatMode

Added in API level 11
int getRepeatMode ()

定义此动画在到达结尾时应该执行的操作。

Returns
int either one of REVERSE or RESTART

getStartDelay

Added in API level 11
long getStartDelay ()

调用 start()后延迟启动动画的时间量(以毫秒为单位)。

Returns
long the number of milliseconds to delay running the animation

getTotalDuration

Added in API level 24
long getTotalDuration ()

获取动画的总持续时间,计算动画序列,启动延迟和重复。 如果持续时间是无限的,则返回DURATION_INFINITE

Returns
long Total time an animation takes to finish, starting from the time start() is called. DURATION_INFINITE will be returned if the animation or any child animation repeats infinite times.

getValues

Added in API level 11
PropertyValuesHolder[] getValues ()

返回此ValueAnimator动画之间的值。 这些值存储在PropertyValuesHolder对象中,即使ValueAnimator是使用值对象的简单列表创建的。

Returns
PropertyValuesHolder[] PropertyValuesHolder[] An array of PropertyValuesHolder objects which hold the values, per property, that define the animation.

isRunning

Added in API level 11
boolean isRunning ()

返回此Animator当前是否正在运行(已经启动并且已经超过了任何初始启动延迟期并且尚未结束)。

Returns
boolean Whether the Animator is running.

isStarted

Added in API level 14
boolean isStarted ()

返回此Animator是否已启动且尚未结束。 对于可重复使用的动画师(大多数动画师除了由createCircularReveal()生成的一次动画师)外,此状态是isRunning()的超集,因为具有非零值startDelay的动画师将在延迟阶段返回真isStarted() ,而isRunning()将返回只有在延迟阶段完成后才为真。 不可重用的动画制作者在启动后将始终返回true,因为它们无法返回到未启动状态。

Returns
boolean Whether the Animator has been started and not yet ended.

ofArgb

Added in API level 21
ValueAnimator ofArgb (int... values)

构造并返回一个在颜色值之间进行动画处理的ValueAnimator。 一个单一的价值意味着那个价值是被动画的价值。 但是,这在ValueAnimator对象中通常不会有用,因为对象无法确定动画的起始值(与ObjectAnimator不同,后者可以从目标对象和属性进行动画获取该值)。 因此,通常应该有两个或更多的值。

Parameters
values int: A set of values that the animation will animate between over time.
Returns
ValueAnimator A ValueAnimator object that is set up to animate between the given values.

ofFloat

Added in API level 11
ValueAnimator ofFloat (float... values)

构造并返回一个在浮动值之间动画的ValueAnimator。 一个单一的价值意味着那个价值是被动画的价值。 但是,这在ValueAnimator对象中通常不会有用,因为对象无法确定动画的起始值(与ObjectAnimator不同,后者可以从目标对象和属性进行动画获取该值)。 因此,通常应该有两个或更多的值。

Parameters
values float: A set of values that the animation will animate between over time.
Returns
ValueAnimator A ValueAnimator object that is set up to animate between the given values.

ofInt

Added in API level 11
ValueAnimator ofInt (int... values)

构造并返回在int值之间动画的ValueAnimator。 一个单一的价值意味着那个价值是被动画的价值。 但是,这在ValueAnimator对象中通常不会有用,因为对象无法确定动画的起始值(与ObjectAnimator不同,后者可以从目标对象和属性进行动画获取该值)。 因此,通常应该有两个或更多的值。

Parameters
values int: A set of values that the animation will animate between over time.
Returns
ValueAnimator A ValueAnimator object that is set up to animate between the given values.

ofObject

Added in API level 11
ValueAnimator ofObject (TypeEvaluator evaluator, 
                Object... values)

构造并返回在对象值之间动画的ValueAnimator。 一个单一的价值意味着那个价值是被动画的价值。 但是,这在ValueAnimator对象中通常不会有用,因为对象无法确定动画的起始值(与ObjectAnimator不同,后者可以从目标对象和属性进行动画获取该值)。 因此,通常应该有两个或更多的值。

注意: Object值存储为对原始对象的引用,这意味着调用此方法后对这些对象的更改将影响动画器上的值。 如果在调用此方法后对象将在外部发生变化,则调用者应该传递这些对象的副本。

由于ValueAnimator不知道如何在任意对象之间进行动画处理,因此此工厂方法还会使用ValueAnimator将用于执行该插值的TypeEvaluator对象。

Parameters
evaluator TypeEvaluator: A TypeEvaluator that will be called on each animation frame to provide the ncessry interpolation between the Object values to derive the animated value.
values Object: A set of values that the animation will animate between over time.
Returns
ValueAnimator A ValueAnimator object that is set up to animate between the given values.

ofPropertyValuesHolder

Added in API level 11
ValueAnimator ofPropertyValuesHolder (PropertyValuesHolder... values)

构造并返回一个在PropertyValuesHolder对象中指定的值之间进行动画处理的ValueAnimator。

Parameters
values PropertyValuesHolder: A set of PropertyValuesHolder objects whose values will be animated between over time.
Returns
ValueAnimator A ValueAnimator object that is set up to animate between the given values.

pause

Added in API level 19
void pause ()

暂停正在运行的动画。 该方法只应在与动画相同的线程上调用。 如果动画尚未started或从此结束,则该呼叫将被忽略。 通过调用resume()可以恢复暂停的动画。

removeAllUpdateListeners

Added in API level 11
void removeAllUpdateListeners ()

删除监听此动画帧更新的所有监听器。

removeUpdateListener

Added in API level 11
void removeUpdateListener (ValueAnimator.AnimatorUpdateListener listener)

从侦听此动画帧更新的设备中删除侦听器。

Parameters
listener ValueAnimator.AnimatorUpdateListener: the listener to be removed from the current set of update listeners for this animation.

resume

Added in API level 19
void resume ()

恢复暂停的动画,导致动画制作者在暂停时停止播放。 该方法只应在与动画相同的线程上调用。 对当前未暂停的动画制作者调用resume()将被忽略。

reverse

Added in API level 11
void reverse ()

反向播放ValueAnimator。 如果动画已经运行,它将自动停止,并在调用反向时从达到的点向后播放。 如果动画当前没有运行,那么它将从结尾开始并向后播放。 此行为仅针对当前动画设置; 将来播放的动画将使用默认的播放动作。

setCurrentFraction

Added in API level 22
void setCurrentFraction (float fraction)

将动画的位置设置为指定的分数。 这个分数应该在0到动画的总分数之间,包括任何重复。 也就是说,0的一部分将在开始时定位动画,结尾的值为1,倒序动画的结尾的值为2,重复一次。 如果动画还没有开始,那么在它被设置为这个分数之后它不会前进; 它将简单地将分数设置为该值,并根据该分数执行任何适当的操作。 如果动画已经在运行,那么setCurrentFraction()会将当前分数设置为该值,并从该点继续播放。 Animator.AnimatorListener事件不会由于更改分数而被调用; 这些事件只在动画运行时处理。

Parameters
fraction float: The fraction to which the animation is advanced or rewound. Values outside the range of 0 to the maximum fraction for the animator will be clamped to the correct range.

setCurrentPlayTime

Added in API level 11
void setCurrentPlayTime (long playTime)

将动画的位置设置为指定的时间点。 这个时间应该在0到动画的总持续时间之间,包括任何重复。 如果动画还没有开始,那么在它被设置到这个时间之后它不会前进; 它会简单地将时间设置为该值并根据该时间执行任何适当的操作。 如果动画已经在运行,则setCurrentPlayTime()会将当前播放时间设置为此值,并从该点继续播放。

Parameters
playTime long: The time, in milliseconds, to which the animation is advanced or rewound.

setDuration

Added in API level 11
ValueAnimator setDuration (long duration)

设置动画的长度。 默认持续时间是300毫秒。

Parameters
duration long: The length of the animation, in milliseconds. This value cannot be negative.
Returns
ValueAnimator ValueAnimator The object called with setDuration(). This return value makes it easier to compose statements together that construct and then set the duration, as in ValueAnimator.ofInt(0, 10).setDuration(500).start().

setEvaluator

Added in API level 11
void setEvaluator (TypeEvaluator value)

计算此动画的动画值时使用的类型评估程序。 系统将根据构造函数中的startValueendValue的类型自动分配float或int评估器。 但是,如果这些值不是这些基本类型之一,或者需要进行不同的评估(例如必须使用表示颜色的int值),则需要指定自定义评估程序。 例如,在颜色值上运行动画时,应使用ArgbEvaluator来获得正确的RGB颜色插值。

如果此ValueAnimator只有一组值正在动画之间,则此评估程序将用于该组。 如果有多组值正在设置动画,如果在ValueAnimator上设置了PropertyValuesHolder对象,则评估者将被分配给第一个PropertyValuesHolder对象。

Parameters
value TypeEvaluator: the evaluator to be used this animation

setFloatValues

Added in API level 11
void setFloatValues (float... values)

设置将在之间动画的浮动值。 一个单一的价值意味着那个价值是被动画的价值。 但是,这在ValueAnimator对象中通常不会有用,因为对象无法确定动画的起始值(与ObjectAnimator不同,后者可以从目标对象和属性进行动画获取该值)。 因此,通常应该有两个或更多的值。

如果已经通过多个PropertyValuesHolder对象为此ValueAnimator定义了多组值,则此方法将为这些对象中的第一个设置值。

Parameters
values float: A set of values that the animation will animate between over time.

setFrameDelay

Added in API level 11
void setFrameDelay (long frameDelay)

动画每帧之间的时间量(以毫秒为单位)。 这是动画尝试遵守的请求时间,但帧之间的实际延迟可能不同,具体取决于系统负载和功能。 这是一个静态函数,因为相同的延迟将应用于所有动画,因为它们都是从单个定时循环中运行的。 当动画系统使用外部定时源(例如显示刷新率(vsync))来管理动画时,帧延迟可能会被忽略。 请注意,应该从调用start()的相同线程调用此方法,以便让新的帧延迟在该动画上生效。 如果调用线程没有Looper,则会引发运行时异常。

Parameters
frameDelay long: the requested time between frames, in milliseconds

setIntValues

Added in API level 11
void setIntValues (int... values)

设置将在之间进行动画处理的int值。 一个单一的价值意味着那个价值是被动画的价值。 但是,这在ValueAnimator对象中通常不会有用,因为对象无法确定动画的起始值(与ObjectAnimator不同,后者可以从目标对象和属性进行动画获取该值)。 因此,通常应该有两个或更多的值。

如果已经通过多个PropertyValuesHolder对象为此ValueAnimator定义了多组值,则此方法将为这些对象中的第一个设置值。

Parameters
values int: A set of values that the animation will animate between over time.

setInterpolator

Added in API level 11
void setInterpolator (TimeInterpolator value)

用于计算此动画的已用部分的时间插值器。 内插器确定动画是以线性还是非线性运动(如加速度和减速度)运行。 默认值是AccelerateDecelerateInterpolator

Parameters
value TimeInterpolator: the interpolator to be used by this animation. A value of null will result in linear interpolation.

setObjectValues

Added in API level 11
void setObjectValues (Object... values)

为此动画设置动画值。 一个单一的价值意味着那个价值是被动画的价值。 但是,这在ValueAnimator对象中通常不会有用,因为对象无法确定动画的起始值(与ObjectAnimator不同,后者可以从目标对象和属性进行动画获取该值)。 因此,通常应该有两个或更多的值。

注意: Object值存储为对原始对象的引用,这意味着调用此方法后对这些对象的更改将影响动画器上的值。 如果在调用此方法后对象将在外部发生变化,则调用者应该传递这些对象的副本。

如果已经通过多个PropertyValuesHolder对象为此ValueAnimator定义了多组值,则此方法将为这些对象中的第一个设置值。

在ValueAnimator上应该有一个TypeEvaluator,它知道如何在这些值对象之间进行插值。 ValueAnimator只知道如何在其他setValues()方法中指定的基本类型之间进行插值。

Parameters
values Object: The set of values to animate between.

setRepeatCount

Added in API level 11
void setRepeatCount (int value)

设置动画应重复多少次。 如果重复计数为0,则动画不会重复。 如果重复计数大于0或INFINITE ,则会考虑重复模式。 重复计数默认为0。

Parameters
value int: the number of times the animation should be repeated

setRepeatMode

Added in API level 11
void setRepeatMode (int value)

定义此动画在到达结尾时应该执行的操作。 仅当重复计数大于0或INFINITE时才应用此设置。 默认为RESTART

Parameters
value int: RESTART or REVERSE

setStartDelay

Added in API level 11
void setStartDelay (long startDelay)

调用start()后延迟启动动画的时间量(以毫秒为单位)。 请注意,启动延迟应始终为非负值。 在N及以上时,任何负启动延迟将被钳位到0。

Parameters
startDelay long: The amount of the delay, in milliseconds

setValues

Added in API level 11
void setValues (PropertyValuesHolder... values)

设置每个属性的值,之间进行动画处理。 该函数由ValueAnimator的构造函数在内部调用,该函数接受值列表。 但是ValueAnimator可以在没有值的情况下构造,并且可以调用此方法手动设置值。

Parameters
values PropertyValuesHolder: The set of values, per property, being animated between.

start

Added in API level 11
void start ()

开始这个动画。 如果动画具有非零的startDelay,则动画将在延迟消逝后开始运行。 非延迟动画将立即设置其初始值,然后调用onAnimationStart(Animator)以供该动画师的任何听众使用。

通过调用此方法开始的动画将在调用此方法的线程上运行。 这个线程应该有一个Looper(如果不是这种情况,将会抛出一个运行时异常)。 此外,如果动画会为视图层次结构中的对象的属性制作动画,则调用线程应该是该视图层次结构的UI线程。

toString

Added in API level 11
String toString ()

返回对象的字符串表示形式。 通常, toString方法会返回一个“文本地表示”该对象的字符串。 结果应该是一个简洁但内容丰富的表述,对于一个人来说很容易阅读。 建议所有子类重写此方法。

toString类的方法Object返回一个字符串,其中包含对象为实例的类的名称,符号字符“ @ ”以及对象的哈希代码的无符号十六进制表示形式。 换句话说,这个方法返回一个字符串,其值等于:

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 

Returns
String a string representation of the object.

Hooray!