Added in [API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Ctors](https://developer.android.com/reference/android/animation/IntArrayEvaluator#pubctors) \| [Methods](https://developer.android.com/reference/android/animation/IntArrayEvaluator#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/animation/IntArrayEvaluator#inhmethods)

# IntArrayEvaluator

*** ** * ** ***

` public class IntArrayEvaluator `   
` extends https://developer.android.com/reference/java/lang/Object ` ` implements https://developer.android.com/reference/android/animation/TypeEvaluator<int[]> `

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.animation.IntArrayEvaluator |

<br />

*** ** * ** ***

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 ||
|---|---|
| ` https://developer.android.com/reference/android/animation/IntArrayEvaluator#IntArrayEvaluator()() ` Create an IntArrayEvaluator that does not reuse the animated value. |
| ` https://developer.android.com/reference/android/animation/IntArrayEvaluator#IntArrayEvaluator(int[])(int[] reuseArray) ` Create an IntArrayEvaluator that reuses `reuseArray` for every evaluate() call. |

| ### Public methods ||
|---|---|
| ` int[]` | ` https://developer.android.com/reference/android/animation/IntArrayEvaluator#evaluate(float,%20int[],%20int[])(float fraction, int[] startValue, int[] endValue) ` Interpolates the value at each index by the fraction. |

### Inherited methods

From class ` https://developer.android.com/reference/java/lang/Object ` ` https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/lang/Object#clone()() `

Creates and returns a copy of this object.
` boolean` ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) `

Indicates whether some other object is "equal to" this one.
` void` ` https://developer.android.com/reference/java/lang/Object#finalize()() `

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
` final https://developer.android.com/reference/java/lang/Class<?>` ` https://developer.android.com/reference/java/lang/Object#getClass()() `

Returns the runtime class of this `Object`.
` int` ` https://developer.android.com/reference/java/lang/Object#hashCode()() `

Returns a hash code value for the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#notify()() `

Wakes up a single thread that is waiting on this object's monitor.
` final void` ` https://developer.android.com/reference/java/lang/Object#notifyAll()() `

Wakes up all threads that are waiting on this object's monitor.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Object#toString()() `

Returns a string representation of the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait()() `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*.
From interface ` https://developer.android.com/reference/android/animation/TypeEvaluator ` ` abstract int[]` ` https://developer.android.com/reference/android/animation/TypeEvaluator#evaluate(float,%20T,%20T)(float fraction, int[] startValue, int[] endValue) `

This function returns the result of linearly interpolating the start and end values, with `fraction` representing the proportion between the start and end values.

## Public constructors

### IntArrayEvaluator

Added in [API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

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

<br />

**See also:**

- `https://developer.android.com/reference/android/animation/IntArrayEvaluator#IntArrayEvaluator(int[])`

### IntArrayEvaluator

Added in [API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public IntArrayEvaluator (int[] reuseArray)
```

Create an IntArrayEvaluator that reuses `reuseArray` for every evaluate() call. Caution must be taken to ensure that the value returned from `https://developer.android.com/reference/android/animation/ValueAnimator#getAnimatedValue()` is not cached, modified, or used across threads. The value will be modified on each `evaluate()` call.

<br />

| Parameters ||
|---|---|
| `reuseArray` | `int`: The array to modify and return from `evaluate`. <br /> |

## Public methods

### evaluate

Added in [API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

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

Interpolates the value at each index by the fraction. If `https://developer.android.com/reference/android/animation/IntArrayEvaluator#IntArrayEvaluator(int[])` was used to construct this object, `reuseArray` will be returned, otherwise a new `int[]` will be returned.

<br />

| Parameters ||
|---|---|
| `fraction` | `float`: The fraction from the starting to the ending values <br /> |
| `startValue` | `int`: The start value. <br /> |
| `endValue` | `int`: The end value. <br /> |

| Returns ||
|---|---|
| `int[]` | An `int[]` where each element is an interpolation between the same index in startValue and endValue. <br /> |