# PropertyValuesHolder

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/PropertyValuesHolder.java+class:androidx.core.animation.PropertyValuesHolder) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/core#1.0.0)

*** ** * ** ***

<br />

```
public class PropertyValuesHolder implements Cloneable
```

<br />

*** ** * ** ***

This class holds information about a property and the values that that property should take on during an animation. PropertyValuesHolder objects can be used to create animations with ValueAnimator or ObjectAnimator that operate on several different properties in parallel.

## Summary

| ### Public methods |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | `https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder#clone()()` |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder#getPropertyName()()` Gets the name of the property that will be animated. |
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | `https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder#ofFloat(java.lang.String,float...)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html propertyName, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html float[] values)` Constructs and returns a PropertyValuesHolder with a given property name and set of float values. |
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | `https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder#ofFloat(android.util.Property<?,java.lang.Float>,float...)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/util/Property.html<@https://developer.android.com/reference/androidx/annotation/NonNull ?, https://developer.android.com/reference/java/lang/Float.html> property, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html float[] values )` Constructs and returns a PropertyValuesHolder with a given property and set of float values. |
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | `https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder#ofInt(java.lang.String,int...)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html propertyName, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html int[] values)` Constructs and returns a PropertyValuesHolder with a given property name and set of int values. |
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | `https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder#ofInt(android.util.Property<?,java.lang.Integer>,int...)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/util/Property.html<@https://developer.android.com/reference/androidx/annotation/NonNull ?, https://developer.android.com/reference/java/lang/Integer.html> property, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html int[] values)` Constructs and returns a PropertyValuesHolder with a given property and set of int values. |
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | `@https://developer.android.com/reference/java/lang/SafeVarargs.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder#ofKeyframe(java.lang.String,androidx.core.animation.Keyframe...)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html propertyName, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html Keyframe[] values)` Constructs and returns a PropertyValuesHolder object with the specified property name and set of values. |
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | `@https://developer.android.com/reference/java/lang/SafeVarargs.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder#ofKeyframe(android.util.Property,androidx.core.animation.Keyframe...)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/util/Property.html property, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html Keyframe[] values)` Constructs and returns a PropertyValuesHolder object with the specified property and set of values. |
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | `https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder#ofMultiFloat(java.lang.String,android.graphics.Path)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html propertyName, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/graphics/Path.html path)` Constructs and returns a PropertyValuesHolder with a given property name to use as a multi-float setter. |
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | `https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder#ofMultiFloat(java.lang.String,float[][])(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html propertyName, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html float[][] values)` Constructs and returns a PropertyValuesHolder with a given property name and set of `float[]` values. |
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | `@https://developer.android.com/reference/java/lang/SafeVarargs.html <V> https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder#ofMultiFloat(java.lang.String,androidx.core.animation.TypeConverter<V,float[]>,androidx.core.animation.TypeEvaluator<V>,V...)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html propertyName, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/TypeConverter<V, float[]> converter, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/TypeEvaluator<V> evaluator, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html V[] values )` Constructs and returns a PropertyValuesHolder with a given property and set of Object values for use with ObjectAnimator multi-value setters. |
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | `@https://developer.android.com/reference/java/lang/SafeVarargs.html <T> https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder#ofMultiFloat(java.lang.String,androidx.core.animation.TypeConverter<T,float[]>,androidx.core.animation.TypeEvaluator<T>,androidx.core.animation.Keyframe...)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html propertyName, @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/core/animation/TypeConverter<T, float[]> converter, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/TypeEvaluator<T> evaluator, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html Keyframe[] values )` Constructs and returns a PropertyValuesHolder object with the specified property name or setter name for use in a multi-float setter function using ObjectAnimator. |
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | `https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder#ofMultiInt(java.lang.String,android.graphics.Path)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html propertyName, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/graphics/Path.html path)` Constructs and returns a PropertyValuesHolder with a given property name to use as a multi-int setter. |
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | `https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder#ofMultiInt(java.lang.String,int[][])(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html propertyName, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html int[][] values)` Constructs and returns a PropertyValuesHolder with a given property name and set of `int[]` values. |
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | `@https://developer.android.com/reference/java/lang/SafeVarargs.html <V> https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder#ofMultiInt(java.lang.String,androidx.core.animation.TypeConverter<V,int[]>,androidx.core.animation.TypeEvaluator<V>,V...)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html propertyName, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/TypeConverter<V, int[]> converter, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/TypeEvaluator<V> evaluator, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html V[] values )` Constructs and returns a PropertyValuesHolder with a given property and set of Object values for use with ObjectAnimator multi-value setters. |
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | `@https://developer.android.com/reference/java/lang/SafeVarargs.html <T> https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder#ofMultiInt(java.lang.String,androidx.core.animation.TypeConverter<T,int[]>,androidx.core.animation.TypeEvaluator<T>,androidx.core.animation.Keyframe...)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html propertyName, @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/core/animation/TypeConverter<T, int[]> converter, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/TypeEvaluator<T> evaluator, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html Keyframe[] values )` Constructs and returns a PropertyValuesHolder object with the specified property name or setter name for use in a multi-int setter function using ObjectAnimator. |
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | `https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder#ofObject(java.lang.String,androidx.core.animation.TypeConverter<android.graphics.PointF,?>,android.graphics.Path)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html propertyName, @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/core/animation/TypeConverter<https://developer.android.com/reference/android/graphics/PointF.html, @https://developer.android.com/reference/androidx/annotation/NonNull ?> converter, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/graphics/Path.html path )` Constructs and returns a PropertyValuesHolder with a given property name and a Path along which the values should be animated. |
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | `https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder#ofObject(java.lang.String,androidx.core.animation.TypeEvaluator,java.lang.Object...)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html propertyName, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/TypeEvaluator evaluator, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html Object[] values )` Constructs and returns a PropertyValuesHolder with a given property name and set of Object values. |
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | `<V> https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder#ofObject(android.util.Property<?,V>,androidx.core.animation.TypeConverter<android.graphics.PointF,V>,android.graphics.Path)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/util/Property.html<@https://developer.android.com/reference/androidx/annotation/NonNull ?, V> property, @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/core/animation/TypeConverter<https://developer.android.com/reference/android/graphics/PointF.html, V> converter, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/graphics/Path.html path )` Constructs and returns a PropertyValuesHolder with a given property and a Path along which the values should be animated. |
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | `@https://developer.android.com/reference/java/lang/SafeVarargs.html <V> https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder#ofObject(android.util.Property,androidx.core.animation.TypeEvaluator<V>,V...)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/util/Property.html property, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/TypeEvaluator<V> evaluator, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html V[] values )` Constructs and returns a PropertyValuesHolder with a given property and set of Object values. |
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | `@https://developer.android.com/reference/java/lang/SafeVarargs.html <T, V> https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder#ofObject(android.util.Property<?,V>,androidx.core.animation.TypeConverter<T,V>,androidx.core.animation.TypeEvaluator<T>,T...)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/util/Property.html<@https://developer.android.com/reference/androidx/annotation/NonNull ?, V> property, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/TypeConverter<T, V> converter, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/TypeEvaluator<T> evaluator, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html T[] values )` Constructs and returns a PropertyValuesHolder with a given property and set of Object values. |
| `void` | `https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder#setConverter(androidx.core.animation.TypeConverter)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/core/animation/TypeConverter converter)` Sets the converter to convert from the values type to the setter's parameter type. |
| `void` | `https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder#setEvaluator(androidx.core.animation.TypeEvaluator)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/TypeEvaluator evaluator)` The TypeEvaluator will be automatically determined based on the type of values supplied to PropertyValuesHolder. |
| `void` | `https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder#setFloatValues(float...)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html float[] values)` Set the animated values for this object to this set of floats. |
| `void` | `https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder#setIntValues(int...)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html int[] values)` Set the animated values for this object to this set of ints. |
| `void` | `https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder#setKeyframes(androidx.core.animation.Keyframe...)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html Keyframe[] values)` Set the animated values for this object to this set of Keyframes. |
| `void` | `https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder#setObjectValues(java.lang.Object...)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html Object[] values)` Set the animated values for this object to this set of Objects. |
| `void` | `https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder#setProperty(android.util.Property)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/util/Property.html property)` Sets the property that will be animated. |
| `void` | `https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder#setPropertyName(java.lang.String)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html propertyName)` Sets the name of the property that will be animated. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder#toString()()` |

## Public methods

### clone

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

```
public @NonNull PropertyValuesHolder clone()
```

### getPropertyName

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

```
public @NonNull String getPropertyName()
```

Gets the name of the property that will be animated. This name will be used to derive a setter function that will be called to set animated values. For example, a property name of `foo` will result in a call to the function `setFoo()` on the target object. If either `valueFrom` or `valueTo` is null, then a getter function will also be derived and called.

### ofFloat

```
public static @NonNull PropertyValuesHolder ofFloat(@NonNull String propertyName, @NonNull float[] values)
```

Constructs and returns a PropertyValuesHolder with a given property name and set of float values.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html propertyName` | The name of the property being animated. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html float[] values` | The values that the named property will animate between. |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | PropertyValuesHolder The constructed PropertyValuesHolder object. |

### ofFloat

```
public static @NonNull PropertyValuesHolder ofFloat(
    @NonNull Property<@NonNull ?, Float> property,
    @NonNull float[] values
)
```

Constructs and returns a PropertyValuesHolder with a given property and set of float values.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/util/Property.html<@https://developer.android.com/reference/androidx/annotation/NonNull ?, https://developer.android.com/reference/java/lang/Float.html> property` | The property being animated. Should not be null. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html float[] values` | The values that the property will animate between. |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | PropertyValuesHolder The constructed PropertyValuesHolder object. |

### ofInt

```
public static @NonNull PropertyValuesHolder ofInt(@NonNull String propertyName, @NonNull int[] values)
```

Constructs and returns a PropertyValuesHolder with a given property name and set of int values.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html propertyName` | The name of the property being animated. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html int[] values` | The values that the named property will animate between. |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | PropertyValuesHolder The constructed PropertyValuesHolder object. |

### ofInt

```
public static @NonNull PropertyValuesHolder ofInt(@NonNull Property<@NonNull ?, Integer> property, @NonNull int[] values)
```

Constructs and returns a PropertyValuesHolder with a given property and set of int values.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/util/Property.html<@https://developer.android.com/reference/androidx/annotation/NonNull ?, https://developer.android.com/reference/java/lang/Integer.html> property` | The property being animated. Should not be null. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html int[] values` | The values that the property will animate between. |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | PropertyValuesHolder The constructed PropertyValuesHolder object. |

### ofKeyframe

```
@SafeVarargs
public static @NonNull PropertyValuesHolder ofKeyframe(@NonNull String propertyName, @NonNull Keyframe[] values)
```

Constructs and returns a PropertyValuesHolder object with the specified property name and set of values. These values can be of any type, but the type should be consistent so that an appropriate `https://developer.android.com/reference/androidx/core/animation/TypeEvaluator` can be found that matches the common type.

If there is only one value, it is assumed to be the end value of an animation, and an initial value will be derived, if possible, by calling a getter function on the object. Also, if any value is null, the value will be filled in when the animation starts in the same way. This mechanism of automatically getting null values only works if the PropertyValuesHolder object is used in conjunction `https://developer.android.com/reference/androidx/core/animation/ObjectAnimator`, and with a getter function derived automatically from `propertyName`, since otherwise PropertyValuesHolder has no way of determining what the value should be.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html propertyName` | The name of the property associated with this set of values. This can be the actual property name to be used when using a ObjectAnimator object, or just a name used to get animated values, such as if this object is used with an ValueAnimator object. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html Keyframe[] values` | The set of values to animate between. |

### ofKeyframe

```
@SafeVarargs
public static @NonNull PropertyValuesHolder ofKeyframe(@NonNull Property property, @NonNull Keyframe[] values)
```

Constructs and returns a PropertyValuesHolder object with the specified property and set of values. These values can be of any type, but the type should be consistent so that an appropriate `https://developer.android.com/reference/androidx/core/animation/TypeEvaluator` can be found that matches the common type.

If there is only one value, it is assumed to be the end value of an animation, and an initial value will be derived, if possible, by calling the property's `https://developer.android.com/reference/android/util/Property.html#get(T)` function. Also, if any value is null, the value will be filled in when the animation starts in the same way. This mechanism of automatically getting null values only works if the PropertyValuesHolder object is used in conjunction with `https://developer.android.com/reference/androidx/core/animation/ObjectAnimator`, since otherwise PropertyValuesHolder has no way of determining what the value should be.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/util/Property.html property` | The property associated with this set of values. Should not be null. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html Keyframe[] values` | The set of values to animate between. |

### ofMultiFloat

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

```
public static @NonNull PropertyValuesHolder ofMultiFloat(@NonNull String propertyName, @NonNull Path path)
```

Constructs and returns a PropertyValuesHolder with a given property name to use as a multi-float setter. The values are animated along the path, with the first parameter of the setter set to the x coordinate and the second set to the y coordinate.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html propertyName` | The name of the property being animated. Can also be the case-sensitive name of the entire setter method. Should not be null. The setter must take exactly two `float` parameters. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/graphics/Path.html path` | The Path along which the values should be animated. |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | PropertyValuesHolder The constructed PropertyValuesHolder object. |

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/core/animation/ObjectAnimator#ofPropertyValuesHolder(java.lang.Object,androidx.core.animation.PropertyValuesHolder...)` |   |

### ofMultiFloat

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

```
public static @NonNull PropertyValuesHolder ofMultiFloat(@NonNull String propertyName, @NonNull float[][] values)
```

Constructs and returns a PropertyValuesHolder with a given property name and set of `float[]` values. At least two `float[]` values must be supplied, a start and end value. If more values are supplied, the values will be animated from the start, through all intermediate values to the end value. When used with ObjectAnimator, the elements of the array represent the parameters of the setter function.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html propertyName` | The name of the property being animated. Can also be the case-sensitive name of the entire setter method. Should not be null. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html float[][] values` | The values that the property will animate between. |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | PropertyValuesHolder The constructed PropertyValuesHolder object. |

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/core/animation/FloatArrayEvaluator#FloatArrayEvaluator(float[])` |   |
| `https://developer.android.com/reference/androidx/core/animation/ObjectAnimator#ofMultiFloat(java.lang.Object,java.lang.String,androidx.core.animation.TypeConverter<T,float[]>,androidx.core.animation.TypeEvaluator<T>,T...)` |   |

### ofMultiFloat

```
@SafeVarargs
public static @NonNull PropertyValuesHolder <V> ofMultiFloat(
    @NonNull String propertyName,
    @NonNull TypeConverter<V, float[]> converter,
    @NonNull TypeEvaluator<V> evaluator,
    @NonNull V[] values
)
```

Constructs and returns a PropertyValuesHolder with a given property and set of Object values for use with ObjectAnimator multi-value setters. The Object values are converted to `float[]` using the converter.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html propertyName` | The property being animated or complete name of the setter. Should not be null. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/TypeConverter<V, float[]> converter` | Used to convert the animated value to setter parameters. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/TypeEvaluator<V> evaluator` | A TypeEvaluator that will be called on each animation frame to provide the necessary interpolation between the Object values to derive the animated value. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html V[] values` | The values that the property will animate between. |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | PropertyValuesHolder The constructed PropertyValuesHolder object. |

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/core/animation/ObjectAnimator#ofMultiFloat(java.lang.Object,java.lang.String,androidx.core.animation.TypeConverter<T,float[]>,androidx.core.animation.TypeEvaluator<T>,T...)` |   |

### ofMultiFloat

```
@SafeVarargs
public static @NonNull PropertyValuesHolder <T> ofMultiFloat(
    @NonNull String propertyName,
    @Nullable TypeConverter<T, float[]> converter,
    @NonNull TypeEvaluator<T> evaluator,
    @NonNull Keyframe[] values
)
```

Constructs and returns a PropertyValuesHolder object with the specified property name or setter name for use in a multi-float setter function using ObjectAnimator. The values can be of any type, but the type should be consistent so that the supplied `https://developer.android.com/reference/androidx/core/animation/TypeEvaluator` can be used to to evaluate the animated value. The `converter` converts the values to parameters in the setter function.

At least two values must be supplied, a start and an end value.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html propertyName` | The name of the property to associate with the set of values. This may also be the complete name of a setter function. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/core/animation/TypeConverter<T, float[]> converter` | Converts `values` into float parameters for the setter. Can be null if the Keyframes have float\[\] values. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/TypeEvaluator<T> evaluator` | Used to interpolate between values. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html Keyframe[] values` | The values at specific fractional times to evaluate between |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | A PropertyValuesHolder for a multi-float parameter setter. |

### ofMultiInt

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

```
public static @NonNull PropertyValuesHolder ofMultiInt(@NonNull String propertyName, @NonNull Path path)
```

Constructs and returns a PropertyValuesHolder with a given property name to use as a multi-int setter. The values are animated along the path, with the first parameter of the setter set to the x coordinate and the second set to the y coordinate.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html propertyName` | The name of the property being animated. Can also be the case-sensitive name of the entire setter method. Should not be null. The setter must take exactly two `int` parameters. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/graphics/Path.html path` | The Path along which the values should be animated. |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | PropertyValuesHolder The constructed PropertyValuesHolder object. |

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/core/animation/ObjectAnimator#ofPropertyValuesHolder(java.lang.Object,androidx.core.animation.PropertyValuesHolder...)` |   |

### ofMultiInt

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

```
public static @NonNull PropertyValuesHolder ofMultiInt(@NonNull String propertyName, @NonNull int[][] values)
```

Constructs and returns a PropertyValuesHolder with a given property name and set of `int[]` values. At least two `int[]` values must be supplied, a start and end value. If more values are supplied, the values will be animated from the start, through all intermediate values to the end value. When used with ObjectAnimator, the elements of the array represent the parameters of the setter function.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html propertyName` | The name of the property being animated. Can also be the case-sensitive name of the entire setter method. Should not be null. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html int[][] values` | The values that the property will animate between. |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | PropertyValuesHolder The constructed PropertyValuesHolder object. |

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/core/animation/IntArrayEvaluator#IntArrayEvaluator(int[])` |   |
| `https://developer.android.com/reference/androidx/core/animation/ObjectAnimator#ofMultiInt(java.lang.Object,java.lang.String,androidx.core.animation.TypeConverter<T,int[]>,androidx.core.animation.TypeEvaluator<T>,T...)` |   |

### ofMultiInt

```
@SafeVarargs
public static @NonNull PropertyValuesHolder <V> ofMultiInt(
    @NonNull String propertyName,
    @NonNull TypeConverter<V, int[]> converter,
    @NonNull TypeEvaluator<V> evaluator,
    @NonNull V[] values
)
```

Constructs and returns a PropertyValuesHolder with a given property and set of Object values for use with ObjectAnimator multi-value setters. The Object values are converted to `int[]` using the converter.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html propertyName` | The property being animated or complete name of the setter. Should not be null. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/TypeConverter<V, int[]> converter` | Used to convert the animated value to setter parameters. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/TypeEvaluator<V> evaluator` | A TypeEvaluator that will be called on each animation frame to provide the necessary interpolation between the Object values to derive the animated value. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html V[] values` | The values that the property will animate between. |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | PropertyValuesHolder The constructed PropertyValuesHolder object. |

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/core/animation/ObjectAnimator#ofMultiInt(java.lang.Object,java.lang.String,androidx.core.animation.TypeConverter<T,int[]>,androidx.core.animation.TypeEvaluator<T>,T...)` |   |
| `https://developer.android.com/reference/androidx/core/animation/ObjectAnimator#ofPropertyValuesHolder(java.lang.Object,androidx.core.animation.PropertyValuesHolder...)` |   |

### ofMultiInt

```
@SafeVarargs
public static @NonNull PropertyValuesHolder <T> ofMultiInt(
    @NonNull String propertyName,
    @Nullable TypeConverter<T, int[]> converter,
    @NonNull TypeEvaluator<T> evaluator,
    @NonNull Keyframe[] values
)
```

Constructs and returns a PropertyValuesHolder object with the specified property name or setter name for use in a multi-int setter function using ObjectAnimator. The values can be of any type, but the type should be consistent so that the supplied `https://developer.android.com/reference/androidx/core/animation/TypeEvaluator` can be used to to evaluate the animated value. The `converter` converts the values to parameters in the setter function.

At least two values must be supplied, a start and an end value.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html propertyName` | The name of the property to associate with the set of values. This may also be the complete name of a setter function. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/core/animation/TypeConverter<T, int[]> converter` | Converts `values` into int parameters for the setter. Can be null if the Keyframes have int\[\] values. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/TypeEvaluator<T> evaluator` | Used to interpolate between values. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html Keyframe[] values` | The values at specific fractional times to evaluate between |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | A PropertyValuesHolder for a multi-int parameter setter. |

### ofObject

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

```
public static @NonNull PropertyValuesHolder ofObject(
    @NonNull String propertyName,
    @Nullable TypeConverter<PointF, @NonNull ?> converter,
    @NonNull Path path
)
```

Constructs and returns a PropertyValuesHolder with a given property name and a Path along which the values should be animated. This variant supports a `TypeConverter` to convert from `PointF` to the target type.

The PointF passed to `converter` or `property`, if `converter` is `null`, is reused on each animation frame and should not be stored by the setter or TypeConverter.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html propertyName` | The name of the property being animated. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/core/animation/TypeConverter<https://developer.android.com/reference/android/graphics/PointF.html, @https://developer.android.com/reference/androidx/annotation/NonNull ?> converter` | Converts a PointF to the type associated with the setter. May be null if conversion is unnecessary. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/graphics/Path.html path` | The Path along which the values should be animated. |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | PropertyValuesHolder The constructed PropertyValuesHolder object. |

### ofObject

```
public static @NonNull PropertyValuesHolder ofObject(
    @NonNull String propertyName,
    @NonNull TypeEvaluator evaluator,
    @NonNull Object[] values
)
```

Constructs and returns a PropertyValuesHolder with a given property name and set of Object values. This variant also takes a TypeEvaluator because the system cannot automatically interpolate between objects of unknown type.

**Note:** The Object values are stored as references to the original objects, which means that changes to those objects after this method is called will affect the values on the PropertyValuesHolder. If the objects will be mutated externally after this method is called, callers should pass a copy of those objects instead.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html propertyName` | The name of the property being animated. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/TypeEvaluator evaluator` | A TypeEvaluator that will be called on each animation frame to provide the necessary interpolation between the Object values to derive the animated value. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html Object[] values` | The values that the named property will animate between. |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | PropertyValuesHolder The constructed PropertyValuesHolder object. |

### ofObject

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

```
public static @NonNull PropertyValuesHolder <V> ofObject(
    @NonNull Property<@NonNull ?, V> property,
    @Nullable TypeConverter<PointF, V> converter,
    @NonNull Path path
)
```

Constructs and returns a PropertyValuesHolder with a given property and a Path along which the values should be animated. This variant supports a `TypeConverter` to convert from `PointF` to the target type.

The PointF passed to `converter` or `property`, if `converter` is `null`, is reused on each animation frame and should not be stored by the setter or TypeConverter.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/util/Property.html<@https://developer.android.com/reference/androidx/annotation/NonNull ?, V> property` | The property being animated. Should not be null. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/core/animation/TypeConverter<https://developer.android.com/reference/android/graphics/PointF.html, V> converter` | Converts a PointF to the type associated with the setter. May be null if conversion is unnecessary. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/graphics/Path.html path` | The Path along which the values should be animated. |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | PropertyValuesHolder The constructed PropertyValuesHolder object. |

### ofObject

```
@SafeVarargs
public static @NonNull PropertyValuesHolder <V> ofObject(
    @NonNull Property property,
    @NonNull TypeEvaluator<V> evaluator,
    @NonNull V[] values
)
```

Constructs and returns a PropertyValuesHolder with a given property and set of Object values. This variant also takes a TypeEvaluator because the system cannot automatically interpolate between objects of unknown type.

**Note:** The Object values are stored as references to the original objects, which means that changes to those objects after this method is called will affect the values on the PropertyValuesHolder. If the objects will be mutated externally after this method is called, callers should pass a copy of those objects instead.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/util/Property.html property` | The property being animated. Should not be null. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/TypeEvaluator<V> evaluator` | A TypeEvaluator that will be called on each animation frame to provide the necessary interpolation between the Object values to derive the animated value. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html V[] values` | The values that the property will animate between. |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | PropertyValuesHolder The constructed PropertyValuesHolder object. |

### ofObject

```
@SafeVarargs
public static @NonNull PropertyValuesHolder <T, V> ofObject(
    @NonNull Property<@NonNull ?, V> property,
    @NonNull TypeConverter<T, V> converter,
    @NonNull TypeEvaluator<T> evaluator,
    @NonNull T[] values
)
```

Constructs and returns a PropertyValuesHolder with a given property and set of Object values. This variant also takes a TypeEvaluator because the system cannot automatically interpolate between objects of unknown type. This variant also takes a `TypeConverter` to convert from animated values to the type of the property. If only one value is supplied, the `TypeConverter` must be a `https://developer.android.com/reference/androidx/core/animation/BidirectionalTypeConverter` to retrieve the current value.

**Note:** The Object values are stored as references to the original objects, which means that changes to those objects after this method is called will affect the values on the PropertyValuesHolder. If the objects will be mutated externally after this method is called, callers should pass a copy of those objects instead.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/util/Property.html<@https://developer.android.com/reference/androidx/annotation/NonNull ?, V> property` | The property being animated. Should not be null. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/TypeConverter<T, V> converter` | Converts the animated object to the Property type. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/TypeEvaluator<T> evaluator` | A TypeEvaluator that will be called on each animation frame to provide the necessary interpolation between the Object values to derive the animated value. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html T[] values` | The values that the property will animate between. |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder` | PropertyValuesHolder The constructed PropertyValuesHolder object. |

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/core/animation/PropertyValuesHolder#setConverter(androidx.core.animation.TypeConverter)` |   |
| `https://developer.android.com/reference/androidx/core/animation/TypeConverter` |   |

### setConverter

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

```
public void setConverter(@Nullable TypeConverter converter)
```

Sets the converter to convert from the values type to the setter's parameter type. If only one value is supplied, <var translate="no">converter</var> must be a `https://developer.android.com/reference/androidx/core/animation/BidirectionalTypeConverter`.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/core/animation/TypeConverter converter` | The converter to use to convert values. |

### setEvaluator

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

```
public void setEvaluator(@NonNull TypeEvaluator evaluator)
```

The TypeEvaluator will be automatically determined based on the type of values supplied to PropertyValuesHolder. The evaluator can be manually set, however, if so desired. This may be important in cases where either the type of the values supplied do not match the way that they should be interpolated between, or if the values are of a custom type or one not currently understood by the animation system. Currently, only values of type float and int (and their Object equivalents: Float and Integer) are correctly interpolated; all other types require setting a TypeEvaluator.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/animation/TypeEvaluator evaluator` |   |

### setFloatValues

```
public void setFloatValues(@NonNull float[] values)
```

Set the animated values for this object to this set of floats. If there is only one value, it is assumed to be the end value of an animation, and an initial value will be derived, if possible, by calling a getter function on the object. Also, if any value is null, the value will be filled in when the animation starts in the same way. This mechanism of automatically getting null values only works if the PropertyValuesHolder object is used in conjunction `https://developer.android.com/reference/androidx/core/animation/ObjectAnimator`, and with a getter function derived automatically from `propertyName`, since otherwise PropertyValuesHolder has no way of determining what the value should be.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html float[] values` | One or more values that the animation will animate between. |

### setIntValues

```
public void setIntValues(@NonNull int[] values)
```

Set the animated values for this object to this set of ints. If there is only one value, it is assumed to be the end value of an animation, and an initial value will be derived, if possible, by calling a getter function on the object. Also, if any value is null, the value will be filled in when the animation starts in the same way. This mechanism of automatically getting null values only works if the PropertyValuesHolder object is used in conjunction `https://developer.android.com/reference/androidx/core/animation/ObjectAnimator`, and with a getter function derived automatically from `propertyName`, since otherwise PropertyValuesHolder has no way of determining what the value should be.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html int[] values` | One or more values that the animation will animate between. |

### setKeyframes

```
public void setKeyframes(@NonNull Keyframe[] values)
```

Set the animated values for this object to this set of Keyframes.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html Keyframe[] values` | One or more values that the animation will animate between. |

### setObjectValues

```
public void setObjectValues(@NonNull Object[] values)
```

Set the animated values for this object to this set of Objects. If there is only one value, it is assumed to be the end value of an animation, and an initial value will be derived, if possible, by calling a getter function on the object. Also, if any value is null, the value will be filled in when the animation starts in the same way. This mechanism of automatically getting null values only works if the PropertyValuesHolder object is used in conjunction `https://developer.android.com/reference/androidx/core/animation/ObjectAnimator`, and with a getter function derived automatically from `propertyName`, since otherwise PropertyValuesHolder has no way of determining what the value should be.

**Note:** The Object values are stored as references to the original objects, which means that changes to those objects after this method is called will affect the values on the PropertyValuesHolder. If the objects will be mutated externally after this method is called, callers should pass a copy of those objects instead.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html Object[] values` | One or more values that the animation will animate between. |

### setProperty

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

```
public void setProperty(@NonNull Property property)
```

Sets the property that will be animated.

Note that if this PropertyValuesHolder object is used with ObjectAnimator, the property must exist on the target object specified in that ObjectAnimator.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/util/Property.html property` | The property being animated. |

### setPropertyName

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

```
public void setPropertyName(@NonNull String propertyName)
```

Sets the name of the property that will be animated. This name is used to derive a setter function that will be called to set animated values. For example, a property name of `foo` will result in a call to the function `setFoo()` on the target object. If either `valueFrom` or `valueTo` is null, then a getter function will also be derived and called.

Note that the setter function derived from this property name must take the same parameter type as the `valueFrom` and `valueTo` properties, otherwise the call to the setter function will fail.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html propertyName` | The name of the property being animated. |

### toString

```
public @NonNull String toString()
```