public abstract class Keyframe extends Object implements Cloneable
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.
Constructor and Description |
---|
Keyframe() |
Modifier and Type | Method and Description |
---|---|
abstract Keyframe |
clone() |
float |
getFraction()
Gets the time for this keyframe, as a fraction of the overall animation duration.
|
android.view.animation.Interpolator |
getInterpolator()
Gets the optional interpolator for this Keyframe.
|
Class |
getType()
Gets the type of keyframe.
|
abstract Object |
getValue()
Gets the value for this Keyframe.
|
boolean |
hasValue()
Indicates whether this keyframe has a valid value.
|
static Keyframe |
ofFloat(float fraction)
Constructs a Keyframe object with the given time.
|
static Keyframe |
ofFloat(float fraction,
float value)
Constructs a Keyframe object with the given time and value.
|
static Keyframe |
ofInt(float fraction)
Constructs a Keyframe object with the given time.
|
static Keyframe |
ofInt(float fraction,
int value)
Constructs a Keyframe object with the given time and value.
|
static Keyframe |
ofObject(float fraction)
Constructs a Keyframe object with the given time.
|
static Keyframe |
ofObject(float fraction,
Object value)
Constructs a Keyframe object with the given time and value.
|
void |
setFraction(float fraction)
Sets the time for this keyframe, as a fraction of the overall animation duration.
|
void |
setInterpolator(android.view.animation.Interpolator interpolator)
Sets the optional interpolator for this Keyframe.
|
abstract void |
setValue(Object value)
Sets the value for this Keyframe.
|
public static Keyframe ofInt(float fraction, int value)
fraction
- The time, expressed as a value between 0 and 1, representing the fraction
of time elapsed of the overall animation duration.value
- The value that the object will animate to as the animation time approaches
the time in this keyframe, and the the value animated from as the time passes the time in
this keyframe.public static Keyframe ofInt(float fraction)
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.fraction
- The time, expressed as a value between 0 and 1, representing the fraction
of time elapsed of the overall animation duration.public static Keyframe ofFloat(float fraction, float value)
fraction
- The time, expressed as a value between 0 and 1, representing the fraction
of time elapsed of the overall animation duration.value
- The value that the object will animate to as the animation time approaches
the time in this keyframe, and the the value animated from as the time passes the time in
this keyframe.public static Keyframe ofFloat(float fraction)
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.fraction
- The time, expressed as a value between 0 and 1, representing the fraction
of time elapsed of the overall animation duration.public static Keyframe ofObject(float fraction, Object value)
fraction
- The time, expressed as a value between 0 and 1, representing the fraction
of time elapsed of the overall animation duration.value
- The value that the object will animate to as the animation time approaches
the time in this keyframe, and the the value animated from as the time passes the time in
this keyframe.public static Keyframe ofObject(float fraction)
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.fraction
- The time, expressed as a value between 0 and 1, representing the fraction
of time elapsed of the overall animation duration.public boolean hasValue()
ObjectAnimator
first starts; keyframes without values are assigned values at
that time by deriving the value for the property from the target object.public abstract Object getValue()
public abstract void setValue(Object value)
value
- value for this Keyframe.public float getFraction()
public void setFraction(float fraction)
fraction
- time associated with this keyframe, as a fraction of the overall animation
duration. This should be a value between 0 and 1.public android.view.animation.Interpolator getInterpolator()
null
indicates
that there is no interpolation, which is the same as linear interpolation.public void setInterpolator(android.view.animation.Interpolator interpolator)
null
indicates
that there is no interpolation, which is the same as linear interpolation.public Class getType()
TypeEvaluator
to use when calculating values between keyframes. The type is based
on the type of Keyframe created.Copyright © 2011–2014. All rights reserved.