Package icyllis.modernui.animation

# Interface Keyframes

All Known Subinterfaces:
  `Keyframes.FloatKeyframes`, `Keyframes.IntKeyframes`

All Known Implementing Classes:
  `KeyframeSet`

public interface Keyframes
This interface abstracts a collection of Keyframe objects and is called by ValueAnimator to calculate values between those keyframes for a given animation.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Interface
  Description
  `static interface`
  `Keyframes.FloatKeyframes`
  `static interface`
  `Keyframes.IntKeyframes`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Keyframes`
  `copy()`
  `Keyframe[]`
  `getKeyframes()`
  `Object`
  `getValue(float fraction)`
  Gets the animated value, given the elapsed fraction of the animation (interpolated by the animation's interpolator) and the evaluator used to calculate in-between values.
  `void`
  `setEvaluator(TypeEvaluator<?> evaluator)`
  Sets the TypeEvaluator to be used when calculating animated values.

- ## Method Details

  - ### setEvaluator

    void setEvaluator(TypeEvaluator<?> evaluator)
    Sets the TypeEvaluator to be used when calculating animated values. This object is required only for Keyframes that are not either IntKeyframes or FloatKeyframes, both of which assume their own evaluator to speed up calculations with those primitive types.
    Parameters:
      `evaluator` - The TypeEvaluator to be used to calculate animated values.

  - ### getValue

    Object getValue(float fraction)
    Gets the animated value, given the elapsed fraction of the animation (interpolated by the animation's interpolator) and the evaluator used to calculate in-between values. This function maps the input fraction to the appropriate keyframe interval and a fraction between them and returns the interpolated value. Note that the input fraction may fall outside the [0-1] bounds, if the animation's interpolator made that happen (e.g., a spring interpolation that might send the fraction past 1.0). We handle this situation by just using the two keyframes at the appropriate end when the value is outside those bounds.
    Parameters:
      `fraction` - The elapsed fraction of the animation
    Returns:
      The animated value.

  - ### getKeyframes

    Keyframe[] getKeyframes()
    Returns:
      The backing array of all Keyframes contained by this. This may return null if this is not made up of Keyframes.

  - ### copy

    Keyframes copy()