IntArrayEvaluator


class IntArrayEvaluator : 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.

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

Public functions

IntArray<Int>
evaluate(fraction: Float, startValue: IntArray, endValue: IntArray)

Interpolates the value at each index by the fraction.

Public constructors

IntArrayEvaluator

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

IntArrayEvaluator(reuseArray: IntArray?)

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
reuseArray: IntArray?

The array to modify and return from evaluate.

Public functions

evaluate

fun evaluate(fraction: Float, startValue: IntArray, endValue: IntArray): IntArray<Int>

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
fraction: Float

The fraction from the starting to the ending values

startValue: IntArray

The start value.

endValue: IntArray

The end value.

Returns
IntArray<Int>

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