IntArrayEvaluator

public class IntArrayEvaluator implements TypeEvaluator


This evaluator can be used to perform type interpolation between int[] 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 an IntArrayEvaluator that does not reuse the animated value.

IntArrayEvaluator(@Nullable int[] reuseArray)

Create an IntArrayEvaluator that reuses reuseArray for every evaluate() call.

Public methods

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

Interpolates the value at each index by the fraction.

Public constructors

IntArrayEvaluator

public IntArrayEvaluator()

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

IntArrayEvaluator

public IntArrayEvaluator(@Nullable int[] reuseArray)

Create an IntArrayEvaluator 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 int[] reuseArray

The array to modify and return from evaluate.

Public methods

evaluate

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

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

Parameters
float fraction

The fraction from the starting to the ending values

@NonNull int[] startValue

The start value.

@NonNull int[] endValue

The end value.

Returns
@NonNull int[]

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