FloatArrayEvaluator


public final class FloatArrayEvaluator implements TypeEvaluator


This evaluator can be used to perform type interpolation between float[] values. Each index into the array is treated as a separate value to interpolate. For example, evaluating {100, 200} and {300, 400} will interpolate the value at the first index between 100 and 300 and the value at the second index value between 200 and 400.

Summary

Public constructors

Create a FloatArrayEvaluator that does not reuse the animated value.

FloatArrayEvaluator(@Nullable float[] reuseArray)

Create a FloatArrayEvaluator that reuses reuseArray for every evaluate() call.

Public methods

@NonNull float[]
evaluate(
    float fraction,
    @NonNull float[] startValue,
    @NonNull float[] endValue
)

Interpolates the value at each index by the fraction.

Public constructors

FloatArrayEvaluator

public FloatArrayEvaluator()

Create a FloatArrayEvaluator that does not reuse the animated value. Care must be taken when using this option because on every evaluation a new float[] will be allocated.

FloatArrayEvaluator

public FloatArrayEvaluator(@Nullable float[] reuseArray)

Create a FloatArrayEvaluator that reuses reuseArray for every evaluate() call. Caution must be taken to ensure that the value returned from getAnimatedValue is not cached, modified, or used across threads. The value will be modified on each evaluate() call.

Parameters
@Nullable float[] reuseArray

The array to modify and return from evaluate.

Public methods

evaluate

public @NonNull float[] evaluate(
    float fraction,
    @NonNull float[] startValue,
    @NonNull float[] endValue
)

Interpolates the value at each index by the fraction. If FloatArrayEvaluator was used to construct this object, reuseArray will be returned, otherwise a new float[] will be returned.

Parameters
float fraction

The fraction from the starting to the ending values

@NonNull float[] startValue

The start value.

@NonNull float[] endValue

The end value.

Returns
@NonNull float[]

A float[] where each element is an interpolation between the same index in startValue and endValue.