# FloatArrayEvaluator

Artifact: [androidx.core:core-animation](https://developer.android.com/jetpack/androidx/releases/core) [View Source](https://cs.android.com/search?q=file:androidx/core/animation/FloatArrayEvaluator.java+class:androidx.core.animation.FloatArrayEvaluator) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/core#1.0.0)

*** ** * ** ***


```
public final class FloatArrayEvaluator implements TypeEvaluator<float[]>
```

<br />

*** ** * ** ***

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 |
|---|
| `https://developer.android.com/reference/androidx/core/animation/FloatArrayEvaluator#FloatArrayEvaluator()()` Create a FloatArrayEvaluator that does not reuse the animated value. |
| `https://developer.android.com/reference/androidx/core/animation/FloatArrayEvaluator#FloatArrayEvaluator(float[])(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html float[] reuseArray)` Create a FloatArrayEvaluator that reuses `reuseArray` for every evaluate() call. |

| ### Public methods |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html float[]` | `https://developer.android.com/reference/androidx/core/animation/FloatArrayEvaluator#evaluate(float,float[],float[])( float fraction, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html float[] startValue, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html float[] endValue )` Interpolates the value at each index by the fraction. |

## Public constructors

### FloatArrayEvaluator

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/core#1.0.0)

```
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.

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/core/animation/FloatArrayEvaluator#FloatArrayEvaluator(float[])` |   |

### FloatArrayEvaluator

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/core#1.0.0)

```
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 `https://developer.android.com/reference/androidx/core/animation/ValueAnimator#getAnimatedValue()` is not cached, modified, or used across threads. The value will be modified on each `evaluate()` call.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html float[] reuseArray` | The array to modify and return from `evaluate`. |

## Public methods

### evaluate

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/core#1.0.0)

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

Interpolates the value at each index by the fraction. If `https://developer.android.com/reference/androidx/core/animation/FloatArrayEvaluator#FloatArrayEvaluator(float[])` 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 |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html float[] startValue` | The start value. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html float[] endValue` | The end value. |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html float[]` | A `float[]` where each element is an interpolation between the same index in startValue and endValue. |