public abstract class Animation
extends Object
implements Cloneable
java.lang.Object | |
↳ | android.view.animation.Animation |
Known Direct Subclasses |
可应用于视图,曲面或其他对象的动画的抽象。 请参阅animation package description file
。
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 可以用作开始时间来指示开始时间应该是当第一个动画帧调用 |
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() |
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() 按照之前设置的 |
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() 第一次启动动画 |
void |
startNow() 便捷方法,以毫秒为单位在当前时间开始动画。 |
boolean |
willChangeBounds() 指示此动画是否会影响动画视图的边界。 |
boolean |
willChangeTransformationMatrix() 指示此动画是否会影响转换矩阵。 |
Protected methods |
|
---|---|
void |
applyTransformation(float interpolatedTime, Transformation t) 帮助getTransformation。 |
Animation |
clone() 创建并返回此对象的副本。 |
void |
ensureInterpolator() 担保此动画具有插值器。 |
void |
finalize() 当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。 |
float |
getScaleFactor() 比例因子通过调用 |
float |
resolveSize(int type, float value, int size, int parentSize) 将大小描述中的信息转换为实际维度 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
窗口动画的特殊选项:如果此窗口位于墙纸的顶部,请不要使用它为墙纸设置动画效果。
必须是布尔值,可以是“ true
”或“ false
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(格式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 detachWallpaper
。
相关方法:
运行动画的时间量(以毫秒为单位)。
必须是整数值,例如“ 100
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 duration
。
相关方法:
设置为true时,在动画结束后应用动画转换。 默认值是false。 如果fillEnabled未设置为true并且未在视图上设置动画,则fillAfter被假定为true。
必须是布尔值,可以是“ true
”或“ false
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 fillAfter
。
相关方法:
如果设置为true或者fillEnabled未设置为true,则在动画开始之前应用动画转换。 默认值是true。
必须是布尔值,可以是“ true
”或“ false
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 fillBefore
。
相关方法:
如果设置为true,则会考虑fillBefore的值。
必须是布尔值,可以是“ true
”或“ false
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 fillEnabled
。
相关方法:
定义用于及时平滑动画运动的插补器。
必须是另一个资源的引用,其形式为“ @[+][package:]type:name
”,或者其形式为“一个主题属性 ?[package:][type:]name
”。
这对应于全局属性资源符号 interpolator
。
相关方法:
定义动画应该重复的次数。 默认值是0。
可能是一个整数值,如“ 100
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
可能是以下常数值之一。
Constant | Value | 描述 |
---|---|---|
infinite |
-1 |
这对应于全局属性资源符号 repeatCount
。
相关方法:
定义到达结束时的动画行为,并且重复计数大于0或无限。 默认值是重新启动。
必须是下列常数值之一。
Constant | Value | 描述 |
---|---|---|
restart |
1 | The animation starts again from the beginning. |
reverse |
2 | The animation plays backward. |
这对应于全局属性资源符号 repeatMode
。
相关方法:
一旦开始时间到达,动画运行之前的延迟时间(以毫秒为单位)。
必须是整数值,例如“ 100
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 startOffset
。
相关方法:
允许调整在动画期间动画内容的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
。
相关方法:
int RELATIVE_TO_PARENT
指定的维度包含一个浮点数,并且应该乘以被动画的对象的父级的高度或宽度。
常量值:2(0x00000002)
int RELATIVE_TO_SELF
指定的维度包含一个浮点数,并且应该乘以被动画的对象的高度或宽度。
常数值:1(0x00000001)
int RESTART
当动画结束并且重复计数为INFINTE_REPEAT或正值时,动画将从头开始重新开始。
常数值:1(0x00000001)
int REVERSE
当动画到达结尾并且重复计数为INFINTE_REPEAT或正值时,动画会后退(然后再次前进)。
常量值:2(0x00000002)
int START_ON_FIRST_FRAME
可以用作开始时间来指示开始时间应该是当第一个动画帧调用getTransformation(long, Transformation)
时的当前时间。 这对短动画很有用。
常量值:-1(0xffffffff)
Animation ()
创建一个持续时间为0ms的新动画,默认插补器,fillBefore设置为true,fillAfter设置为false
Animation (Context context, AttributeSet attrs)
创建一个新的动画,其参数来自指定的上下文和属性集。
Parameters | |
---|---|
context |
Context : the application environment |
attrs |
AttributeSet : the set of attributes holding the animation parameters |
void cancel ()
取消动画。 取消动画会调用动画侦听器(如果已设置)以通知动画结束。 如果手动取消动画,则必须在再次开始动画之前调用reset()
。
也可以看看:
long computeDurationHint ()
计算提示整个动画可能持续多久,以毫秒为单位。 可以编写动画来使自己的运行持续时间不同于此处计算的持续时间,但通常这应该是准确的。
Returns | |
---|---|
long |
boolean getDetachWallpaper ()
返回值 setDetachWallpaper(boolean)
。
相关XML属性:
Returns | |
---|---|
boolean |
long getDuration ()
这个动画应该持续多久
相关XML属性:
Returns | |
---|---|
long |
the duration in milliseconds of the animation |
boolean getFillAfter ()
如果fillAfter为true,则此动画将在动画结束时间后应用其转换。
相关XML属性:
Returns | |
---|---|
boolean |
true if the animation applies its transformation after it ends |
boolean getFillBefore ()
如果fillBefore为true,则此动画将在动画的开始时间之前应用其转换。 如果fillBefore为false并且fillEnabled
为true,则转换将不会应用到动画的开始时间。
相关XML属性:
Returns | |
---|---|
boolean |
true if the animation applies its transformation before it starts |
Interpolator getInterpolator ()
获取此动画的加速曲线类型。
相关XML属性:
Returns | |
---|---|
Interpolator |
the Interpolator associated to this animation |
int getRepeatCount ()
定义动画应该重复的次数。 默认值是0。
相关XML属性:
Returns | |
---|---|
int |
the number of times the animation should repeat, or INFINITE |
int getRepeatMode ()
定义此动画在到达结尾时应该执行的操作。
相关XML属性:
Returns | |
---|---|
int |
either one of REVERSE or RESTART |
long getStartOffset ()
当这个动画应该开始时,相对于StartTime
相关XML属性:
Returns | |
---|---|
long |
the start offset in milliseconds |
long getStartTime ()
当这个动画应该开始。 如果动画尚未启动,则此方法可能会返回START_ON_FIRST_FRAME
。
Returns | |
---|---|
long |
the time in milliseconds when the animation should start or START_ON_FIRST_FRAME |
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 |
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 |
int getZAdjustment ()
按照之前设置的 setZAdjustment(int)
返回运行动画时使用的Z排序模式。
相关XML属性:
Returns | |
---|---|
int |
Returns one of ZORDER_NORMAL , ZORDER_TOP , or ZORDER_BOTTOM . |
boolean hasEnded ()
指示此动画是否已结束。
Returns | |
---|---|
boolean |
true if the animation has ended, false otherwise |
boolean hasStarted ()
指示此动画是否已启动。
Returns | |
---|---|
boolean |
true if the animation has started, false otherwise |
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 |
boolean isFillEnabled ()
如果fillEnabled为true,则此动画将应用fillBefore的值。
相关XML属性:
Returns | |
---|---|
boolean |
true if the animation will take fillBefore into account |
boolean isInitialized ()
动画是否已初始化。
Returns | |
---|---|
boolean |
Has this animation been initialized. |
void restrictDuration (long durationMillis)
确保此动画运行的持续时间不超过durationMillis 。 除了调整持续时间本身外,这可确保重复计数也不会使其运行时间超过给定时间。
Parameters | |
---|---|
durationMillis |
long : The maximum duration the animation is allowed to run. |
void scaleCurrentDuration (float scale)
How much to scale the duration by.
Parameters | |
---|---|
scale |
float : The amount to scale the duration. |
void setAnimationListener (Animation.AnimationListener listener)
将动画侦听器绑定到此动画。 向动画监听器通知诸如动画结束或动画重复之类的动画事件。
Parameters | |
---|---|
listener |
Animation.AnimationListener : the animation listener to be notified |
void setBackgroundColor (int bg)
在动画后面设置背景。
Parameters | |
---|---|
bg |
int : The background color. If 0, no background. Currently must be black, with any desired alpha level. |
void setDetachWallpaper (boolean detachWallpaper)
如果detachWallpaper为true,并且这是一个具有壁纸背景的窗口的窗口动画,则窗口在运行时将从壁纸分离。 也就是说,动画只会应用于窗口,其背后的壁纸将保持静态。
相关XML属性:
Parameters | |
---|---|
detachWallpaper |
boolean : true if the wallpaper should be detached from the animation |
void setDuration (long durationMillis)
这个动画应该持续多久。 持续时间不能是负面的。
相关XML属性:
Parameters | |
---|---|
durationMillis |
long : Duration in milliseconds |
Throws | |
---|---|
IllegalArgumentException |
if the duration is < 0 |
void setFillAfter (boolean fillAfter)
如果fillAfter为true,则此动画执行的转换在完成时将保持不变。 如果未设置,则默认为false。 请注意,这适用于单个动画以及使用AnimationSet
来链接动画。
相关XML属性:
Parameters | |
---|---|
fillAfter |
boolean : true if the animation should apply its transformation after it ends |
也可以看看:
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 |
也可以看看:
void setFillEnabled (boolean fillEnabled)
如果fillEnabled为true,则动画将应用fillBefore的值。 否则,fillBefore被忽略,并且动画转换总是被应用直到动画结束。
相关XML属性:
Parameters | |
---|---|
fillEnabled |
boolean : true if the animation should take the value of fillBefore into account |
void setInterpolator (Context context, int resID)
设置此动画的加速曲线。 插补器作为来自指定上下文的资源加载。
相关XML属性:
Parameters | |
---|---|
context |
Context : The application environment |
resID |
int : The resource identifier of the interpolator to load |
void setInterpolator (Interpolator i)
设置此动画的加速曲线。 默认为线性插值。
相关XML属性:
Parameters | |
---|---|
i |
Interpolator : The interpolator which defines the acceleration curve |
void setRepeatCount (int repeatCount)
设置动画应重复多少次。 如果重复计数为0,则动画不会重复。 如果重复计数大于0或INFINITE
,则会考虑重复模式。 重复计数默认为0。
相关XML属性:
Parameters | |
---|---|
repeatCount |
int : the number of times the animation should be repeated |
void setRepeatMode (int repeatMode)
定义此动画在到达结尾时应该执行的操作。 仅当重复计数大于0或INFINITE
时才应用此设置。 默认为RESTART
。
相关XML属性:
Parameters | |
---|---|
repeatMode |
int : RESTART or REVERSE |
void setStartOffset (long startOffset)
当这个动画应该开始相对于开始时间。 当使用AnimationSet
组合复杂的动画时,这是非常有用的,其中一些动画组件在不同的时间开始。
相关XML属性:
Parameters | |
---|---|
startOffset |
long : When this Animation should start, in milliseconds from the start time of the root AnimationSet. |
void setStartTime (long startTimeMillis)
当这个动画应该开始。 当开始时间设置为START_ON_FIRST_FRAME
,动画将在第一次启动时调用getTransformation(long, Transformation)
。 应通过调用currentAnimationTimeMillis()
而不是currentTimeMillis()
来获得传递给此方法的时间。
Parameters | |
---|---|
startTimeMillis |
long : the start time in milliseconds |
void setZAdjustment (int zAdjustment)
设置Z顺序模式以在运行动画时使用。
相关XML属性:
Parameters | |
---|---|
zAdjustment |
int : The desired mode, one of ZORDER_NORMAL , ZORDER_TOP , or ZORDER_BOTTOM . |
boolean willChangeBounds ()
指示此动画是否会影响动画视图的边界。 例如,淡入淡出的动画不会影响界限,而200%的动画将会影响界限。
Returns | |
---|---|
boolean |
true if this animation will change the view's bounds |
boolean willChangeTransformationMatrix ()
指示此动画是否会影响转换矩阵。 例如,淡入淡出的动画不会影响矩阵,而标度动画会影响矩阵。
Returns | |
---|---|
boolean |
true if this animation will change the transformation matrix |
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. |
Animation clone ()
创建并返回此对象的副本。 “复制”的确切含义可能取决于对象的类别。 一般意图是,对于任何对象x
,表达式:
will be true, and that the expression:x.clone() != x
will bex.clone().getClass() == x.getClass()
true
, but these are not absolute requirements. While it is typically the case that:
will bex.clone().equals(x)
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 |
void ensureInterpolator ()
担保此动画具有插值器。 将使用AccelerateDecelerateInterpolator是没有别的被指定。
void finalize ()
当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。 子类会覆盖finalize
方法以处置系统资源或执行其他清理。
的常规协定finalize
是,它被调用,如果当在Java TM虚拟机已确定不再有由该目的可以通过还没有死亡,除了作为一个动作的结果的任何线程访问的任何手段取决于某些其他可以完成的对象或类别的最终定稿。 finalize
方法可以采取任何行动,包括使这个对象再次可用于其他线程; 但是, finalize
的通常目的是在对象被不可撤销地丢弃之前执行清理操作。 例如,表示输入/输出连接的对象的finalize方法可能会执行显式I / O事务,以在永久丢弃该对象之前中断连接。
类Object
的finalize
方法Object
执行特殊操作; 它只是正常返回。 Object
子类可能会覆盖此定义。
Java编程语言不保证哪个线程将为任何给定的对象调用finalize
方法。 但是,保证调用finalize的线程在调用finalize时不会保留任何用户可见的同步锁。 如果finalize方法引发未捕获的异常,则忽略该异常,并终止该对象的终止。
在针对某个对象调用了 finalize
方法之后,在Java虚拟机再次确定不再有任何方法可以通过尚未死亡的任何线程访问此对象,包括可能的操作通过准备完成的其他对象或类别,此时该对象可能被丢弃。
对于任何给定的对象,Java虚拟机永远不会多次调用 finalize
方法。
finalize
方法抛出的任何异常 finalize
导致此对象的终止被暂停,但会被忽略。
Throws | |
---|---|
Throwable |
float getScaleFactor ()
比例因子通过调用getTransformation
来getTransformation
。 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 . |
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 |