Keyframe
abstract class Keyframe : Cloneable
kotlin.Any | |
↳ | android.animation.Keyframe |
This class holds a time/value pair for an animation. The Keyframe class is used by ValueAnimator
to define the values that the animation target will have over the course of the animation. As the time proceeds from one keyframe to the other, the value of the target object will animate between the value at the previous keyframe and the value at the next keyframe. Each keyframe also holds an optional TimeInterpolator
object, which defines the time interpolation over the intervalue preceding the keyframe.
The Keyframe class itself is abstract. The type-specific factory methods will return a subclass of Keyframe specific to the type of value being stored. This is done to improve performance when dealing with the most common cases (e.g., float
and int
values). Other types will fall into a more general Keyframe class that treats its values as Objects. Unless your animation requires dealing with a custom type or a data structure that needs to be animated directly (and evaluated using an implementation of TypeEvaluator
), you should stick to using float and int as animations using those types have lower runtime overhead than other types.
Summary
Public constructors | |
---|---|
Keyframe() |
Public methods | |
---|---|
abstract Keyframe |
clone() |
open Float |
Gets the time for this keyframe, as a fraction of the overall animation duration. |
open TimeInterpolator! |
Gets the optional interpolator for this Keyframe. |
open Class<Any!>! |
getType() Gets the type of keyframe. |
abstract Any! |
getValue() Gets the value for this Keyframe. |
open Boolean |
hasValue() Indicates whether this keyframe has a valid value. |
open static Keyframe! |
Constructs a Keyframe object with the given time and value. |
open static Keyframe! |
Constructs a Keyframe object with the given time. |
open static Keyframe! |
Constructs a Keyframe object with the given time and value. |
open static Keyframe! |
Constructs a Keyframe object with the given time. |
open static Keyframe! |
Constructs a Keyframe object with the given time and value. |
open static Keyframe! |
Constructs a Keyframe object with the given time. |
open Unit |
setFraction(fraction: Float) Sets the time for this keyframe, as a fraction of the overall animation duration. |
open Unit |
setInterpolator(interpolator: TimeInterpolator!) Sets the optional interpolator for this Keyframe. |
abstract Unit |
Sets the value for this Keyframe. |
Public constructors
Keyframe
Keyframe()
Public methods
clone
abstract fun clone(): Keyframe
Return | |
---|---|
Keyframe |
a clone of this instance. |
Exceptions | |
---|---|
java.lang.CloneNotSupportedException |
if the object's class does not support the Cloneable interface. Subclasses that override the clone method can also throw this exception to indicate that an instance cannot be cloned. |
getFraction
open fun getFraction(): Float
Gets the time for this keyframe, as a fraction of the overall animation duration.
Return | |
---|---|
Float |
The time associated with this keyframe, as a fraction of the overall animation duration. This should be a value between 0 and 1. |
getInterpolator
open fun getInterpolator(): TimeInterpolator!
Gets the optional interpolator for this Keyframe. A value of null
indicates that there is no interpolation, which is the same as linear interpolation.
Return | |
---|---|
TimeInterpolator! |
The optional interpolator for this Keyframe. |
getType
open fun getType(): Class<Any!>!
Gets the type of keyframe. This information is used by ValueAnimator to determine the type of TypeEvaluator
to use when calculating values between keyframes. The type is based on the type of Keyframe created.
Return | |
---|---|
Class<Any!>! |
The type of the value stored in the Keyframe. |
getValue
abstract fun getValue(): Any!
Gets the value for this Keyframe.
Return | |
---|---|
Any! |
The value for this Keyframe. |
hasValue
open fun hasValue(): Boolean
Indicates whether this keyframe has a valid value. This method is called internally when an ObjectAnimator
first starts; keyframes without values are assigned values at that time by deriving the value for the property from the target object.
Return | |
---|---|
Boolean |
boolean Whether this object has a value assigned. |
ofFloat
open static fun ofFloat(
fraction: Float,
value: Float
): Keyframe!
Constructs a Keyframe object with the given time and value. The time defines the time, as a proportion of an overall animation's duration, at which the value will hold true for the animation. The value for the animation between keyframes will be calculated as an interpolation between the values at those keyframes.
Parameters | |
---|---|
fraction |
Float: The time, expressed as a value between 0 and 1, representing the fraction of time elapsed of the overall animation duration. |
value |
Float: The value that the object will animate to as the animation time approaches the time in this keyframe, and the value animated from as the time passes the time in this keyframe. |
ofFloat
open static fun ofFloat(fraction: Float): Keyframe!
Constructs a Keyframe object with the given time. The value at this time will be derived from the target object when the animation first starts (note that this implies that keyframes with no initial value must be used as part of an ObjectAnimator
). The time defines the time, as a proportion of an overall animation's duration, at which the value will hold true for the animation. The value for the animation between keyframes will be calculated as an interpolation between the values at those keyframes.
Parameters | |
---|---|
fraction |
Float: The time, expressed as a value between 0 and 1, representing the fraction of time elapsed of the overall animation duration. |
ofInt
open static fun ofInt(
fraction: Float,
value: Int
): Keyframe!
Constructs a Keyframe object with the given time and value. The time defines the time, as a proportion of an overall animation's duration, at which the value will hold true for the animation. The value for the animation between keyframes will be calculated as an interpolation between the values at those keyframes.
Parameters | |
---|---|
fraction |
Float: The time, expressed as a value between 0 and 1, representing the fraction of time elapsed of the overall animation duration. |
value |
Int: The value that the object will animate to as the animation time approaches the time in this keyframe, and the value animated from as the time passes the time in this keyframe. |
ofInt
open static fun ofInt(fraction: Float): Keyframe!
Constructs a Keyframe object with the given time. The value at this time will be derived from the target object when the animation first starts (note that this implies that keyframes with no initial value must be used as part of an ObjectAnimator
). The time defines the time, as a proportion of an overall animation's duration, at which the value will hold true for the animation. The value for the animation between keyframes will be calculated as an interpolation between the values at those keyframes.
Parameters | |
---|---|
fraction |
Float: The time, expressed as a value between 0 and 1, representing the fraction of time elapsed of the overall animation duration. |
ofObject
open static fun ofObject(
fraction: Float,
value: Any!
): Keyframe!
Constructs a Keyframe object with the given time and value. The time defines the time, as a proportion of an overall animation's duration, at which the value will hold true for the animation. The value for the animation between keyframes will be calculated as an interpolation between the values at those keyframes.
Parameters | |
---|---|
fraction |
Float: The time, expressed as a value between 0 and 1, representing the fraction of time elapsed of the overall animation duration. |
value |
Any!: The value that the object will animate to as the animation time approaches the time in this keyframe, and the value animated from as the time passes the time in this keyframe. |
ofObject
open static fun ofObject(fraction: Float): Keyframe!
Constructs a Keyframe object with the given time. The value at this time will be derived from the target object when the animation first starts (note that this implies that keyframes with no initial value must be used as part of an ObjectAnimator
). The time defines the time, as a proportion of an overall animation's duration, at which the value will hold true for the animation. The value for the animation between keyframes will be calculated as an interpolation between the values at those keyframes.
Parameters | |
---|---|
fraction |
Float: The time, expressed as a value between 0 and 1, representing the fraction of time elapsed of the overall animation duration. |
setFraction
open fun setFraction(fraction: Float): Unit
Sets the time for this keyframe, as a fraction of the overall animation duration.
Parameters | |
---|---|
fraction |
Float: time associated with this keyframe, as a fraction of the overall animation duration. This should be a value between 0 and 1. |
setInterpolator
open fun setInterpolator(interpolator: TimeInterpolator!): Unit
Sets the optional interpolator for this Keyframe. A value of null
indicates that there is no interpolation, which is the same as linear interpolation.
Return | |
---|---|
Unit |
The optional interpolator for this Keyframe. |
setValue
abstract fun setValue(value: Any!): Unit
Sets the value for this Keyframe.
Parameters | |
---|---|
value |
Any!: value for this Keyframe. |