Most visited

Recently visited

Added in API level 1

Animation

public abstract class Animation
extends Object implements Cloneable

java.lang.Object
   ↳ android.view.animation.Animation
Known Direct Subclasses


可应用于视图,曲面或其他对象的动画的抽象。 请参阅animation package description file

Summary

Nested classes

interface Animation.AnimationListener

动画侦听器从动画接收通知。

class Animation.Description

实用程序类来解析大小的字符串描述。

XML attributes

android:detachWallpaper Special option for window animations: if this window is on top of a wallpaper, don't animate the wallpaper with it. 
android:duration Amount of time (in milliseconds) for the animation to run. 
android:fillAfter When set to true, the animation transformation is applied after the animation is over. 
android:fillBefore When set to true or when fillEnabled is not set to true, the animation transformation is applied before the animation has started. 
android:fillEnabled When set to true, the value of fillBefore is taken into account. 
android:interpolator Defines the interpolator used to smooth the animation movement in time. 
android:repeatCount Defines how many times the animation should repeat. 
android:repeatMode Defines the animation behavior when it reaches the end and the repeat count is greater than 0 or infinite. 
android:startOffset Delay in milliseconds before the animation runs, once start time is reached. 
android:zAdjustment Allows for an adjustment of the Z ordering of the content being animated for the duration of the animation. 

Constants

int ABSOLUTE

指定的尺寸是像素的绝对数量。

int INFINITE

无限地重复动画。

int RELATIVE_TO_PARENT

指定的维度包含一个浮点数,并且应该乘以被动画的对象的父级的高度或宽度。

int RELATIVE_TO_SELF

指定的维度包含一个浮点数,并且应该乘以被动画的对象的高度或宽度。

int RESTART

当动画结束并且重复计数为INFINTE_REPEAT或正值时,动画将从头开始重新开始。

int REVERSE

当动画到达结尾并且重复计数为INFINTE_REPEAT或正值时,动画会后退(然后再次前进)。

int START_ON_FIRST_FRAME

可以用作开始时间来指示开始时间应该是当第一个动画帧调用 getTransformation(long, Transformation)时的当前时间。

int ZORDER_BOTTOM

请求动画内容在动画期间强制在所有其他内容下。

int ZORDER_NORMAL

请求将动画内容保存为当前的Z顺序。

int ZORDER_TOP

要求动画内容在动画期间强制在所有其他内容之上。

Public constructors

Animation()

创建一个持续时间为0ms的新动画,默认插补器,fillBefore设置为true,fillAfter设置为false

Animation(Context context, AttributeSet attrs)

创建一个新的动画,其参数来自指定的上下文和属性集。

Public methods

void cancel()

取消动画。

long computeDurationHint()

计算提示整个动画可能持续多久,以毫秒为单位。

int getBackgroundColor()

返回动画背后的背景色。

boolean getDetachWallpaper()

返回值 setDetachWallpaper(boolean)

long getDuration()

这个动画应该持续多久

boolean getFillAfter()

如果fillAfter为true,则此动画将在动画结束时间后应用其转换。

boolean getFillBefore()

如果fillBefore为true,则此动画将在动画的开始时间之前应用其转换。

Interpolator getInterpolator()

获取此动画的加速曲线类型。

int getRepeatCount()

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

int getRepeatMode()

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

long getStartOffset()

当这个动画应该开始时,相对于StartTime

long getStartTime()

当这个动画应该开始。

boolean getTransformation(long currentTime, Transformation outTransformation, float scale)

获取要在指定时间点应用的转换。

boolean getTransformation(long currentTime, Transformation outTransformation)

获取要在指定时间点应用的转换。

int getZAdjustment()

按照之前设置的 setZAdjustment(int)返回运行动画时使用的Z排序模式。

boolean hasEnded()

指示此动画是否已结束。

boolean hasStarted()

指示此动画是否已启动。

void initialize(int width, int height, int parentWidth, int parentHeight)

使用被动画对象的维度以及对象父项来初始化此动画。

boolean isFillEnabled()

如果fillEnabled为true,则此动画将应用fillBefore的值。

boolean isInitialized()

动画是否已初始化。

void reset()

重置此动画的初始化状态。

void restrictDuration(long durationMillis)

确保此动画运行的 持续时间不超过 durationMillis

void scaleCurrentDuration(float scale)

多少时间通过缩放。

void setAnimationListener(Animation.AnimationListener listener)

将动画侦听器绑定到此动画。

void setBackgroundColor(int bg)

在动画后面设置背景。

void setDetachWallpaper(boolean detachWallpaper)

如果detachWallpaper为true,并且这是一个具有壁纸背景的窗口的窗口动画,则窗口在运行时将从壁纸分离。

void setDuration(long durationMillis)

这个动画应该持续多久。

void setFillAfter(boolean fillAfter)

如果fillAfter为true,则此动画执行的转换在完成时将保持不变。

void setFillBefore(boolean fillBefore)

如果fillBefore为true,则此动画将在动画的开始时间之前应用其转换。

void setFillEnabled(boolean fillEnabled)

如果fillEnabled为true,则动画将应用fillBefore的值。

void setInterpolator(Context context, int resID)

设置此动画的加速曲线。

void setInterpolator(Interpolator i)

设置此动画的加速曲线。

void setRepeatCount(int repeatCount)

设置动画应重复多少次。

void setRepeatMode(int repeatMode)

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

void setStartOffset(long startOffset)

当这个动画应该开始相对于开始时间。

void setStartTime(long startTimeMillis)

当这个动画应该开始。

void setZAdjustment(int zAdjustment)

设置Z顺序模式以在运行动画时使用。

void start()

第一次启动动画 getTransformation(long, Transformation)便捷方法。

void startNow()

便捷方法,以毫秒为单位在当前时间开始动画。

boolean willChangeBounds()

指示此动画是否会影响动画视图的边界。

boolean willChangeTransformationMatrix()

指示此动画是否会影响转换矩阵。

Protected methods

void applyTransformation(float interpolatedTime, Transformation t)

帮助getTransformation。

Animation clone()

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

void ensureInterpolator()

担保此动画具有插值器。

void finalize()

当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。

float getScaleFactor()

比例因子通过调用 getTransformationgetTransformation

float resolveSize(int type, float value, int size, int parentSize)

将大小描述中的信息转换为实际维度

Inherited methods

From class java.lang.Object

XML attributes

android:detachWallpaper

窗口动画的特殊选项:如果此窗口位于墙纸的顶部,请不要使用它为墙纸设置动画效果。

必须是布尔值,可以是“ true ”或“ false ”。

这也可能是对包含此类型值的资源(形式为“ @[package:]type:name ”)或主题属性(格式为“ ?[package:][type:]name ”)的 ?[package:][type:]name

这对应于全局属性资源符号 detachWallpaper

相关方法:

android:duration

运行动画的时间量(以毫秒为单位)。

必须是整数值,例如“ 100 ”。

这也可能是对包含此类型值的资源(形式为“ @[package:]type:name ”)或主题属性(形式为“ ?[package:][type:]name ”)的 ?[package:][type:]name

这对应于全局属性资源符号 duration

相关方法:

android:fillAfter

设置为true时,在动画结束后应用动画转换。 默认值是false。 如果fillEnabled未设置为true并且未在视图上设置动画,则fillAfter被假定为true。

必须是布尔值,可以是“ true ”或“ false ”。

这也可能是对包含此类型值的资源(形式为“ @[package:]type:name ”)或主题属性(形式为“ ?[package:][type:]name ”)的 ?[package:][type:]name

这对应于全局属性资源符号 fillAfter

相关方法:

android:fillBefore

如果设置为true或者fillEnabled未设置为true,则在动画开始之前应用动画转换。 默认值是true。

必须是布尔值,可以是“ true ”或“ false ”。

这也可能是对包含此类型值的资源(形式为“ @[package:]type:name ”)或主题属性(形式为“ ?[package:][type:]name ”)的 ?[package:][type:]name

这对应于全局属性资源符号 fillBefore

相关方法:

android:fillEnabled

如果设置为true,则会考虑fillBefore的值。

必须是布尔值,可以是“ true ”或“ false ”。

这也可能是对包含此类型值的资源(形式为“ @[package:]type:name ”)或主题属性(形式为“ ?[package:][type:]name ”)的 ?[package:][type:]name

这对应于全局属性资源符号 fillEnabled

相关方法:

android:interpolator

定义用于及时平滑动画运动的插补器。

必须是另一个资源的引用,其形式为“ @[+][package:]type:name ”,或者其形式为“一个主题属性 ?[package:][type:]name ”。

这对应于全局属性资源符号 interpolator

相关方法:

android:repeatCount

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

可能是一个整数值,如“ 100 ”。

这也可能是对包含此类型值的资源(形式为“ @[package:]type:name ”)或主题属性(形式为“ ?[package:][type:]name ”)的 ?[package:][type:]name

可能是以下常数值之一。

Constant Value 描述
infinite -1

这对应于全局属性资源符号 repeatCount

相关方法:

android:repeatMode

定义到达结束时的动画行为,并且重复计数大于0或无限。 默认值是重新启动。

必须是下列常数值之一。

Constant Value 描述
restart 1 The animation starts again from the beginning.
reverse 2 The animation plays backward.

这对应于全局属性资源符号 repeatMode

相关方法:

android:startOffset

一旦开始时间到达,动画运行之前的延迟时间(以毫秒为单位)。

必须是整数值,例如“ 100 ”。

这也可能是对包含此类型值的资源(形式为“ @[package:]type:name ”)或主题属性(形式为“ ?[package:][type:]name ”)的 ?[package:][type:]name

这对应于全局属性资源符号 startOffset

相关方法:

android:zAdjustment

允许调整在动画期间动画内容的Z顺序。 默认值是正常的。

必须是下列常数值之一。

Constant Value 描述
normal 0 The content being animated be kept in its current Z order.
top 1 The content being animated is forced on top of all other content for the duration of the animation.
bottom -1 The content being animated is forced under all other content for the duration of the animation.

这对应于全局属性资源符号 zAdjustment

相关方法:

Constants

ABSOLUTE

Added in API level 1
int ABSOLUTE

指定的尺寸是像素的绝对数量。

常量值:0(0x00000000)

INFINITE

Added in API level 1
int INFINITE

无限地重复动画。

常量值:-1(0xffffffff)

RELATIVE_TO_PARENT

Added in API level 1
int RELATIVE_TO_PARENT

指定的维度包含一个浮点数,并且应该乘以被动画的对象的父级的高度或宽度。

常量值:2(0x00000002)

RELATIVE_TO_SELF

Added in API level 1
int RELATIVE_TO_SELF

指定的维度包含一个浮点数,并且应该乘以被动画的对象的高度或宽度。

常数值:1(0x00000001)

RESTART

Added in API level 1
int RESTART

当动画结束并且重复计数为INFINTE_REPEAT或正值时,动画将从头开始重新开始。

常数值:1(0x00000001)

REVERSE

Added in API level 1
int REVERSE

当动画到达结尾并且重复计数为INFINTE_REPEAT或正值时,动画会后退(然后再次前进)。

常量值:2(0x00000002)

START_ON_FIRST_FRAME

Added in API level 1
int START_ON_FIRST_FRAME

可以用作开始时间来指示开始时间应该是当第一个动画帧调用getTransformation(long, Transformation)时的当前时间。 这对短动画很有用。

常量值:-1(0xffffffff)

ZORDER_BOTTOM

Added in API level 1
int ZORDER_BOTTOM

请求动画内容在动画期间强制在所有其他内容下。

常量值:-1(0xffffffff)

ZORDER_NORMAL

Added in API level 1
int ZORDER_NORMAL

请求将动画内容保存为当前的Z顺序。

常量值:0(0x00000000)

ZORDER_TOP

Added in API level 1
int ZORDER_TOP

要求动画内容在动画期间强制在所有其他内容之上。

常数值:1(0x00000001)

Public constructors

Animation

Added in API level 1
Animation ()

创建一个持续时间为0ms的新动画,默认插补器,fillBefore设置为true,fillAfter设置为false

Animation

Added in API level 1
Animation (Context context, 
                AttributeSet attrs)

创建一个新的动画,其参数来自指定的上下文和属性集。

Parameters
context Context: the application environment
attrs AttributeSet: the set of attributes holding the animation parameters

Public methods

cancel

Added in API level 8
void cancel ()

取消动画。 取消动画会调用动画侦听器(如果已设置)以通知动画结束。 如果手动取消动画,则必须在再次开始动画之前调用reset()

也可以看看:

computeDurationHint

Added in API level 3
long computeDurationHint ()

计算提示整个动画可能持续多久,以毫秒为单位。 可以编写动画来使自己的运行持续时间不同于此处计算的持续时间,但通常这应该是准确的。

Returns
long

getBackgroundColor

Added in API level 12
int getBackgroundColor ()

返回动画背后的背景色。

Returns
int

getDetachWallpaper

Added in API level 5
boolean getDetachWallpaper ()

返回值 setDetachWallpaper(boolean)

相关XML属性:

Returns
boolean

getDuration

Added in API level 1
long getDuration ()

这个动画应该持续多久

相关XML属性:

Returns
long the duration in milliseconds of the animation

getFillAfter

Added in API level 1
boolean getFillAfter ()

如果fillAfter为true,则此动画将在动画结束时间后应用其转换。

相关XML属性:

Returns
boolean true if the animation applies its transformation after it ends

getFillBefore

Added in API level 1
boolean getFillBefore ()

如果fillBefore为true,则此动画将在动画的开始时间之前应用其转换。 如果fillBefore为false并且fillEnabled为true,则转换将不会应用到动画的开始时间。

相关XML属性:

Returns
boolean true if the animation applies its transformation before it starts

getInterpolator

Added in API level 1
Interpolator getInterpolator ()

获取此动画的加速曲线类型。

相关XML属性:

Returns
Interpolator the Interpolator associated to this animation

getRepeatCount

Added in API level 1
int getRepeatCount ()

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

相关XML属性:

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

getRepeatMode

Added in API level 1
int getRepeatMode ()

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

相关XML属性:

Returns
int either one of REVERSE or RESTART

getStartOffset

Added in API level 1
long getStartOffset ()

当这个动画应该开始时,相对于StartTime

相关XML属性:

Returns
long the start offset in milliseconds

getStartTime

Added in API level 1
long getStartTime ()

当这个动画应该开始。 如果动画尚未启动,则此方法可能会返回START_ON_FIRST_FRAME

Returns
long the time in milliseconds when the animation should start or START_ON_FIRST_FRAME

getTransformation

Added in API level 11
boolean getTransformation (long currentTime, 
                Transformation outTransformation, 
                float scale)

获取要在指定时间点应用的转换。 此方法的实现应始终替换指定的转换或其他文档。

Parameters
currentTime long: Where we are in the animation. This is wall clock time.
outTransformation Transformation: A transformation object that is provided by the caller and will be filled in by the animation.
scale float: Scaling factor to apply to any inputs to the transform operation, such pivot points being rotated or scaled around.
Returns
boolean True if the animation is still running

getTransformation

Added in API level 1
boolean getTransformation (long currentTime, 
                Transformation outTransformation)

获取要在指定时间点应用的转换。 此方法的实现应始终替换指定的转换或其他文档。

Parameters
currentTime long: Where we are in the animation. This is wall clock time.
outTransformation Transformation: A transformation object that is provided by the caller and will be filled in by the animation.
Returns
boolean True if the animation is still running

getZAdjustment

Added in API level 1
int getZAdjustment ()

按照之前设置的 setZAdjustment(int)返回运行动画时使用的Z排序模式。

相关XML属性:

Returns
int Returns one of ZORDER_NORMAL, ZORDER_TOP, or ZORDER_BOTTOM.

hasEnded

Added in API level 1
boolean hasEnded ()

指示此动画是否已结束。

Returns
boolean true if the animation has ended, false otherwise

hasStarted

Added in API level 1
boolean hasStarted ()

指示此动画是否已启动。

Returns
boolean true if the animation has started, false otherwise

initialize

Added in API level 1
void initialize (int width, 
                int height, 
                int parentWidth, 
                int parentHeight)

使用被动画对象的维度以及对象父项来初始化此动画。 (这是为了支持相对于这些尺寸指定的动画尺寸。)

解释动画的对象在调用 getTransformation(long, Transformation)之前应该调用此方法,以便知道动画对象的大小及其父对象的大小。

Parameters
width int: Width of the object being animated
height int: Height of the object being animated
parentWidth int: Width of the animated object's parent
parentHeight int: Height of the animated object's parent

isFillEnabled

Added in API level 3
boolean isFillEnabled ()

如果fillEnabled为true,则此动画将应用fillBefore的值。

相关XML属性:

Returns
boolean true if the animation will take fillBefore into account

isInitialized

Added in API level 1
boolean isInitialized ()

动画是否已初始化。

Returns
boolean Has this animation been initialized.

也可以看看:

reset

Added in API level 1
void reset ()

重置此动画的初始化状态。

也可以看看:

restrictDuration

Added in API level 1
void restrictDuration (long durationMillis)

确保此动画运行的持续时间不超过durationMillis 除了调整持续时间本身外,这可确保重复计数也不会使其运行时间超过给定时间。

Parameters
durationMillis long: The maximum duration the animation is allowed to run.

scaleCurrentDuration

Added in API level 1
void scaleCurrentDuration (float scale)

How much to scale the duration by.

Parameters
scale float: The amount to scale the duration.

setAnimationListener

Added in API level 1
void setAnimationListener (Animation.AnimationListener listener)

将动画侦听器绑定到此动画。 向动画监听器通知诸如动画结束或动画重复之类的动画事件。

Parameters
listener Animation.AnimationListener: the animation listener to be notified

setBackgroundColor

Added in API level 12
void setBackgroundColor (int bg)

在动画后面设置背景。

Parameters
bg int: The background color. If 0, no background. Currently must be black, with any desired alpha level.

setDetachWallpaper

Added in API level 5
void setDetachWallpaper (boolean detachWallpaper)

如果detachWallpaper为true,并且这是一个具有壁纸背景的窗口的窗口动画,则窗口在运行时将从壁纸分离。 也就是说,动画只会应用于窗口,其背后的壁纸将保持静态。

相关XML属性:

Parameters
detachWallpaper boolean: true if the wallpaper should be detached from the animation

setDuration

Added in API level 1
void setDuration (long durationMillis)

这个动画应该持续多久。 持续时间不能是负面的。

相关XML属性:

Parameters
durationMillis long: Duration in milliseconds
Throws
IllegalArgumentException if the duration is < 0

setFillAfter

Added in API level 1
void setFillAfter (boolean fillAfter)

如果fillAfter为true,则此动画执行的转换在完成时将保持不变。 如果未设置,则默认为false。 请注意,这适用于单个动画以及使用AnimationSet来链接动画。

相关XML属性:

Parameters
fillAfter boolean: true if the animation should apply its transformation after it ends

也可以看看:

setFillBefore

Added in API level 1
void setFillBefore (boolean fillBefore)

如果fillBefore为true,则此动画将在动画的开始时间之前应用其转换。 如果setFillEnabled(boolean)未设置为true,则默认为true。 请注意,这适用于使用AnimationSet来链接动画。 在AnimationSet自身启动之前不会应用转换。

相关XML属性:

Parameters
fillBefore boolean: true if the animation should apply its transformation before it starts

也可以看看:

setFillEnabled

Added in API level 3
void setFillEnabled (boolean fillEnabled)

如果fillEnabled为true,则动画将应用fillBefore的值。 否则,fillBefore被忽略,并且动画转换总是被应用直到动画结束。

相关XML属性:

Parameters
fillEnabled boolean: true if the animation should take the value of fillBefore into account

也可以看看:

setInterpolator

Added in API level 1
void setInterpolator (Context context, 
                int resID)

设置此动画的加速曲线。 插补器作为来自指定上下文的资源加载。

相关XML属性:

Parameters
context Context: The application environment
resID int: The resource identifier of the interpolator to load

setInterpolator

Added in API level 1
void setInterpolator (Interpolator i)

设置此动画的加速曲线。 默认为线性插值。

相关XML属性:

Parameters
i Interpolator: The interpolator which defines the acceleration curve

setRepeatCount

Added in API level 1
void setRepeatCount (int repeatCount)

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

相关XML属性:

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

setRepeatMode

Added in API level 1
void setRepeatMode (int repeatMode)

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

相关XML属性:

Parameters
repeatMode int: RESTART or REVERSE

setStartOffset

Added in API level 1
void setStartOffset (long startOffset)

当这个动画应该开始相对于开始时间。 当使用AnimationSet组合复杂的动画时,这是非常有用的,其中一些动画组件在不同的时间开始。

相关XML属性:

Parameters
startOffset long: When this Animation should start, in milliseconds from the start time of the root AnimationSet.

setStartTime

Added in API level 1
void setStartTime (long startTimeMillis)

当这个动画应该开始。 当开始时间设置为START_ON_FIRST_FRAME ,动画将在第一次启动时调用getTransformation(long, Transformation) 应通过调用currentAnimationTimeMillis()而不是currentTimeMillis()来获得传递给此方法的时间。

Parameters
startTimeMillis long: the start time in milliseconds

setZAdjustment

Added in API level 1
void setZAdjustment (int zAdjustment)

设置Z顺序模式以在运行动画时使用。

相关XML属性:

Parameters
zAdjustment int: The desired mode, one of ZORDER_NORMAL, ZORDER_TOP, or ZORDER_BOTTOM.

start

Added in API level 1
void start ()

第一次启动动画 getTransformation(long, Transformation)便捷方法。

startNow

Added in API level 1
void startNow ()

便捷方法,以毫秒为单位在当前时间开始动画。

willChangeBounds

Added in API level 1
boolean willChangeBounds ()

指示此动画是否会影响动画视图的边界。 例如,淡入淡出的动画不会影响界限,而200%的动画将会影响界限。

Returns
boolean true if this animation will change the view's bounds

willChangeTransformationMatrix

Added in API level 1
boolean willChangeTransformationMatrix ()

指示此动画是否会影响转换矩阵。 例如,淡入淡出的动画不会影响矩阵,而标度动画会影响矩阵。

Returns
boolean true if this animation will change the transformation matrix

Protected methods

applyTransformation

Added in API level 1
void applyTransformation (float interpolatedTime, 
                Transformation t)

帮助getTransformation。 子类应该实现这个以应用赋予插值的变换。 此方法的实现应始终替换指定的转换或其他文档。

Parameters
interpolatedTime float: The value of the normalized time (0.0 to 1.0) after it has been run through the interpolation function.
t Transformation: The Transformation object to fill in with the current transforms.

clone

Added in API level 1
Animation 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
Animation a clone of this instance.
Throws
CloneNotSupportedException

ensureInterpolator

Added in API level 1
void ensureInterpolator ()

担保此动画具有插值器。 将使用AccelerateDecelerateInterpolator是没有别的被指定。

finalize

Added in API level 1
void finalize ()

当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。 子类会覆盖finalize方法以处置系统资源或执行其他清理。

的常规协定finalize是,它被调用,如果当在Java TM虚拟机已确定不再有由该目的可以通过还没有死亡,除了作为一个动作的结果的任何线程访问的任何手段取决于某些其他可以完成的对象或类别的最终定稿。 finalize方法可以采取任何行动,包括使这个对象再次可用于其他线程; 但是, finalize的通常目的是在对象被不可撤销地丢弃之前执行清理操作。 例如,表示输入/输出连接的对象的finalize方法可能会执行显式I / O事务,以在永久丢弃该对象之前中断连接。

Objectfinalize方法Object执行特殊操作; 它只是正常返回。 Object子类可能会覆盖此定义。

Java编程语言不保证哪个线程将为任何给定的对象调用finalize方法。 但是,保证调用finalize的线程在调用finalize时不会保留任何用户可见的同步锁。 如果finalize方法引发未捕获的异常,则忽略该异常,并终止该对象的终止。

在针对某个对象调用了 finalize方法之后,在Java虚拟机再次确定不再有任何方法可以通过尚未死亡的任何线程访问此对象,包括可能的操作通过准备完成的其他对象或类别,此时该对象可能被丢弃。

对于任何给定的对象,Java虚拟机永远不会多次调用 finalize方法。

finalize方法抛出的任何异常 finalize导致此对象的终止被暂停,但会被忽略。

Throws
Throwable

getScaleFactor

Added in API level 11
float getScaleFactor ()

比例因子通过调用getTransformationgetTransformation getTransformation(long, Transformation, float)覆盖将直接得到这个值。 重写applyTransformation(float, Transformation)可以调用此方法来获取值。

Returns
float float The scale factor that should be applied to pre-scaled values in an Animation such as the pivot points in ScaleAnimation and RotateAnimation.

resolveSize

Added in API level 1
float resolveSize (int type, 
                float value, 
                int size, 
                int parentSize)

将大小描述中的信息转换为实际维度

Parameters
type int: One of Animation.ABSOLUTE, Animation.RELATIVE_TO_SELF, or Animation.RELATIVE_TO_PARENT.
value float: The dimension associated with the type parameter
size int: The size of the object being animated
parentSize int: The size of the parent of the object being animated
Returns
float The dimension to use for the animation

Hooray!