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

# PropertyValuesHolder

*** ** * ** ***

` public class PropertyValuesHolder `   
` extends https://developer.android.com/reference/java/lang/Object ` ` implements https://developer.android.com/reference/java/lang/Cloneable `

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

<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://developer.android.com/reference/android/animation/PropertyValuesHolder` | ` https://developer.android.com/reference/android/animation/PropertyValuesHolder#clone()() ` Creates and returns a copy of this object. |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/animation/PropertyValuesHolder#getPropertyName()() ` Gets the name of the property that will be animated. |
| ` static https://developer.android.com/reference/android/animation/PropertyValuesHolder` | ` https://developer.android.com/reference/android/animation/PropertyValuesHolder#ofFloat(android.util.Property<?,java.lang.Float>,%20float[])(https://developer.android.com/reference/android/util/Property<?, https://developer.android.com/reference/java/lang/Float> property, float... values) ` Constructs and returns a PropertyValuesHolder with a given property and set of float values. |
| ` static https://developer.android.com/reference/android/animation/PropertyValuesHolder` | ` https://developer.android.com/reference/android/animation/PropertyValuesHolder#ofFloat(java.lang.String,%20float[])(https://developer.android.com/reference/java/lang/String propertyName, float... values) ` Constructs and returns a PropertyValuesHolder with a given property name and set of float values. |
| ` static https://developer.android.com/reference/android/animation/PropertyValuesHolder` | ` https://developer.android.com/reference/android/animation/PropertyValuesHolder#ofInt(android.util.Property<?,java.lang.Integer>,%20int[])(https://developer.android.com/reference/android/util/Property<?, https://developer.android.com/reference/java/lang/Integer> property, int... values) ` Constructs and returns a PropertyValuesHolder with a given property and set of int values. |
| ` static https://developer.android.com/reference/android/animation/PropertyValuesHolder` | ` https://developer.android.com/reference/android/animation/PropertyValuesHolder#ofInt(java.lang.String,%20int[])(https://developer.android.com/reference/java/lang/String propertyName, int... values) ` Constructs and returns a PropertyValuesHolder with a given property name and set of int values. |
| ` static https://developer.android.com/reference/android/animation/PropertyValuesHolder` | ` https://developer.android.com/reference/android/animation/PropertyValuesHolder#ofKeyframe(java.lang.String,%20android.animation.Keyframe[])(https://developer.android.com/reference/java/lang/String propertyName, https://developer.android.com/reference/android/animation/Keyframe values) ` Constructs and returns a PropertyValuesHolder object with the specified property name and set of values. |
| ` static https://developer.android.com/reference/android/animation/PropertyValuesHolder` | ` https://developer.android.com/reference/android/animation/PropertyValuesHolder#ofKeyframe(android.util.Property,%20android.animation.Keyframe[])(https://developer.android.com/reference/android/util/Property<T, V> property, https://developer.android.com/reference/android/animation/Keyframe values) ` Constructs and returns a PropertyValuesHolder object with the specified property and set of values. |
| ` static https://developer.android.com/reference/android/animation/PropertyValuesHolder` | ` https://developer.android.com/reference/android/animation/PropertyValuesHolder#ofMultiFloat(java.lang.String,%20float[][])(https://developer.android.com/reference/java/lang/String propertyName, float[][] values) ` Constructs and returns a PropertyValuesHolder with a given property name and set of `float[]` values. |
| ` static <T> https://developer.android.com/reference/android/animation/PropertyValuesHolder` | ` https://developer.android.com/reference/android/animation/PropertyValuesHolder#ofMultiFloat(java.lang.String,%20android.animation.TypeConverter<T,float[]>,%20android.animation.TypeEvaluator<T>,%20android.animation.Keyframe[])(https://developer.android.com/reference/java/lang/String propertyName, https://developer.android.com/reference/android/animation/TypeConverter<T, float[]> converter, https://developer.android.com/reference/android/animation/TypeEvaluator<T> evaluator, https://developer.android.com/reference/android/animation/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://developer.android.com/reference/android/animation/PropertyValuesHolder` | ` https://developer.android.com/reference/android/animation/PropertyValuesHolder#ofMultiFloat(java.lang.String,%20android.graphics.Path)(https://developer.android.com/reference/java/lang/String propertyName, https://developer.android.com/reference/android/graphics/Path path) ` Constructs and returns a PropertyValuesHolder with a given property name to use as a multi-float setter. |
| ` static <V> https://developer.android.com/reference/android/animation/PropertyValuesHolder` | ` https://developer.android.com/reference/android/animation/PropertyValuesHolder#ofMultiFloat(java.lang.String,%20android.animation.TypeConverter<V,float[]>,%20android.animation.TypeEvaluator<V>,%20V[])(https://developer.android.com/reference/java/lang/String propertyName, https://developer.android.com/reference/android/animation/TypeConverter<V, float[]> converter, https://developer.android.com/reference/android/animation/TypeEvaluator<V> evaluator, 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://developer.android.com/reference/android/animation/PropertyValuesHolder` | ` https://developer.android.com/reference/android/animation/PropertyValuesHolder#ofMultiInt(java.lang.String,%20android.graphics.Path)(https://developer.android.com/reference/java/lang/String propertyName, https://developer.android.com/reference/android/graphics/Path path) ` Constructs and returns a PropertyValuesHolder with a given property name to use as a multi-int setter. |
| ` static <V> https://developer.android.com/reference/android/animation/PropertyValuesHolder` | ` https://developer.android.com/reference/android/animation/PropertyValuesHolder#ofMultiInt(java.lang.String,%20android.animation.TypeConverter<V,int[]>,%20android.animation.TypeEvaluator<V>,%20V[])(https://developer.android.com/reference/java/lang/String propertyName, https://developer.android.com/reference/android/animation/TypeConverter<V, int[]> converter, https://developer.android.com/reference/android/animation/TypeEvaluator<V> evaluator, 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://developer.android.com/reference/android/animation/PropertyValuesHolder` | ` https://developer.android.com/reference/android/animation/PropertyValuesHolder#ofMultiInt(java.lang.String,%20int[][])(https://developer.android.com/reference/java/lang/String propertyName, int[][] values) ` Constructs and returns a PropertyValuesHolder with a given property name and set of `int[]` values. |
| ` static <T> https://developer.android.com/reference/android/animation/PropertyValuesHolder` | ` https://developer.android.com/reference/android/animation/PropertyValuesHolder#ofMultiInt(java.lang.String,%20android.animation.TypeConverter<T,int[]>,%20android.animation.TypeEvaluator<T>,%20android.animation.Keyframe[])(https://developer.android.com/reference/java/lang/String propertyName, https://developer.android.com/reference/android/animation/TypeConverter<T, int[]> converter, https://developer.android.com/reference/android/animation/TypeEvaluator<T> evaluator, https://developer.android.com/reference/android/animation/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 <V> https://developer.android.com/reference/android/animation/PropertyValuesHolder` | ` https://developer.android.com/reference/android/animation/PropertyValuesHolder#ofObject(android.util.Property<?,V>,%20android.animation.TypeConverter<android.graphics.PointF,V>,%20android.graphics.Path)(https://developer.android.com/reference/android/util/Property<?, V> property, https://developer.android.com/reference/android/animation/TypeConverter<https://developer.android.com/reference/android/graphics/PointF, V> converter, https://developer.android.com/reference/android/graphics/Path path) ` Constructs and returns a PropertyValuesHolder with a given property and a Path along which the values should be animated. |
| ` static <V> https://developer.android.com/reference/android/animation/PropertyValuesHolder` | ` https://developer.android.com/reference/android/animation/PropertyValuesHolder#ofObject(android.util.Property,%20android.animation.TypeEvaluator<V>,%20V[])(https://developer.android.com/reference/android/util/Property<T, V> property, https://developer.android.com/reference/android/animation/TypeEvaluator<V> evaluator, V... values) ` Constructs and returns a PropertyValuesHolder with a given property and set of Object values. |
| ` static https://developer.android.com/reference/android/animation/PropertyValuesHolder` | ` https://developer.android.com/reference/android/animation/PropertyValuesHolder#ofObject(java.lang.String,%20android.animation.TypeEvaluator,%20java.lang.Object[])(https://developer.android.com/reference/java/lang/String propertyName, https://developer.android.com/reference/android/animation/TypeEvaluator<T> evaluator, https://developer.android.com/reference/java/lang/Object values) ` Constructs and returns a PropertyValuesHolder with a given property name and set of Object values. |
| ` static https://developer.android.com/reference/android/animation/PropertyValuesHolder` | ` https://developer.android.com/reference/android/animation/PropertyValuesHolder#ofObject(java.lang.String,%20android.animation.TypeConverter<android.graphics.PointF,?>,%20android.graphics.Path)(https://developer.android.com/reference/java/lang/String propertyName, https://developer.android.com/reference/android/animation/TypeConverter<https://developer.android.com/reference/android/graphics/PointF, ?> converter, https://developer.android.com/reference/android/graphics/Path path) ` Constructs and returns a PropertyValuesHolder with a given property name and a Path along which the values should be animated. |
| ` static <T, V> https://developer.android.com/reference/android/animation/PropertyValuesHolder` | ` https://developer.android.com/reference/android/animation/PropertyValuesHolder#ofObject(android.util.Property<?,V>,%20android.animation.TypeConverter<T,V>,%20android.animation.TypeEvaluator<T>,%20T[])(https://developer.android.com/reference/android/util/Property<?, V> property, https://developer.android.com/reference/android/animation/TypeConverter<T, V> converter, https://developer.android.com/reference/android/animation/TypeEvaluator<T> evaluator, T... values) ` Constructs and returns a PropertyValuesHolder with a given property and set of Object values. |
| ` void` | ` https://developer.android.com/reference/android/animation/PropertyValuesHolder#setConverter(android.animation.TypeConverter)(https://developer.android.com/reference/android/animation/TypeConverter<T, V> converter) ` Sets the converter to convert from the values type to the setter's parameter type. |
| ` void` | ` https://developer.android.com/reference/android/animation/PropertyValuesHolder#setEvaluator(android.animation.TypeEvaluator)(https://developer.android.com/reference/android/animation/TypeEvaluator<T> evaluator) ` The TypeEvaluator will be automatically determined based on the type of values supplied to PropertyValuesHolder. |
| ` void` | ` https://developer.android.com/reference/android/animation/PropertyValuesHolder#setFloatValues(float[])(float... values) ` Set the animated values for this object to this set of floats. |
| ` void` | ` https://developer.android.com/reference/android/animation/PropertyValuesHolder#setIntValues(int[])(int... values) ` Set the animated values for this object to this set of ints. |
| ` void` | ` https://developer.android.com/reference/android/animation/PropertyValuesHolder#setKeyframes(android.animation.Keyframe[])(https://developer.android.com/reference/android/animation/Keyframe values) ` Set the animated values for this object to this set of Keyframes. |
| ` void` | ` https://developer.android.com/reference/android/animation/PropertyValuesHolder#setObjectValues(java.lang.Object[])(https://developer.android.com/reference/java/lang/Object values) ` Set the animated values for this object to this set of Objects. |
| ` void` | ` https://developer.android.com/reference/android/animation/PropertyValuesHolder#setProperty(android.util.Property)(https://developer.android.com/reference/android/util/Property<T, V> property) ` Sets the property that will be animated. |
| ` void` | ` https://developer.android.com/reference/android/animation/PropertyValuesHolder#setPropertyName(java.lang.String)(https://developer.android.com/reference/java/lang/String propertyName) ` Sets the name of the property that will be animated. |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/animation/PropertyValuesHolder#toString()() ` Returns a string representation of the object. |

### 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*.

## Public methods

### clone

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

```
public PropertyValuesHolder clone ()
```

Creates and returns a copy of this object. The precise meaning of "copy" may depend on the class of the object. The general intent is that, for any object `x`, the expression:
>
> ```
> x.clone() != x
> ```
will be true, and that the expression:
>
> ```
> x.clone().getClass() == x.getClass()
> ```
will be `true`, but these are not absolute requirements. While it is typically the case that:
>
> ```
> x.clone().equals(x)
> ```
will be `true`, this is not an absolute requirement.

By convention, the returned object should be obtained by calling `super.clone`. If a class and all of its superclasses (except `Object`) obey this convention, it will be the case that `x.clone().getClass() == x.getClass()`.

By convention, the object returned by this method should be independent of this object (which is being cloned). To achieve this independence, it may be necessary to modify one or more fields of the object returned by `super.clone` before returning it. Typically, this means copying any mutable objects that comprise the internal "deep structure" of the object being cloned and replacing the references to these objects with references to the copies. If a class contains only primitive fields or references to immutable objects, then it is usually the case that no fields in the object returned by `super.clone` need to be modified.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/animation/PropertyValuesHolder` | a clone of this instance. <br /> |

### getPropertyName

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

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

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | <br /> |

### ofFloat

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

```
public static PropertyValuesHolder ofFloat (Property<?, Float> property, 
                float... values)
```

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

<br />

| Parameters ||
|---|---|
| `property` | `Property`: The property being animated. Should not be null. <br /> |
| `values` | `float`: The values that the property will animate between. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/animation/PropertyValuesHolder` | PropertyValuesHolder The constructed PropertyValuesHolder object. <br /> |

### ofFloat

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

```
public static PropertyValuesHolder ofFloat (String propertyName, 
                float... values)
```

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

<br />

| Parameters ||
|---|---|
| `propertyName` | `String`: The name of the property being animated. <br /> |
| `values` | `float`: The values that the named property will animate between. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/animation/PropertyValuesHolder` | PropertyValuesHolder The constructed PropertyValuesHolder object. <br /> |

### ofInt

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

```
public static PropertyValuesHolder ofInt (Property<?, Integer> property, 
                int... values)
```

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

<br />

| Parameters ||
|---|---|
| `property` | `Property`: The property being animated. Should not be null. <br /> |
| `values` | `int`: The values that the property will animate between. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/animation/PropertyValuesHolder` | PropertyValuesHolder The constructed PropertyValuesHolder object. <br /> |

### ofInt

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

```
public static PropertyValuesHolder ofInt (String propertyName, 
                int... values)
```

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

<br />

| Parameters ||
|---|---|
| `propertyName` | `String`: The name of the property being animated. <br /> |
| `values` | `int`: The values that the named property will animate between. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/animation/PropertyValuesHolder` | PropertyValuesHolder The constructed PropertyValuesHolder object. <br /> |

### ofKeyframe

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

```
public static PropertyValuesHolder ofKeyframe (String propertyName, 
                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/android/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/android/animation/ObjectAnimator`, and with a getter function derived automatically from `propertyName`, since otherwise PropertyValuesHolder has no way of determining what the value should be.

<br />

| Parameters ||
|---|---|
| `propertyName` | `String`: 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. <br /> |
| `values` | `Keyframe`: The set of values to animate between. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/animation/PropertyValuesHolder` | <br /> |

### ofKeyframe

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

```
public static PropertyValuesHolder ofKeyframe (Property<T, V> property, 
                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/android/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#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/android/animation/ObjectAnimator`, since otherwise PropertyValuesHolder has no way of determining what the value should be.

<br />

| Parameters ||
|---|---|
| `property` | `Property`: The property associated with this set of values. Should not be null. <br /> |
| `values` | `Keyframe`: The set of values to animate between. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/animation/PropertyValuesHolder` | <br /> |

### ofMultiFloat

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

```
public static PropertyValuesHolder ofMultiFloat (String propertyName, 
                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.

<br />

| Parameters ||
|---|---|
| `propertyName` | `String`: The name of the property being animated. Can also be the case-sensitive name of the entire setter method. Should not be null. <br /> |
| `values` | `float`: The values that the property will animate between. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/animation/PropertyValuesHolder` | PropertyValuesHolder The constructed PropertyValuesHolder object. <br /> |

**See also:**

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

### ofMultiFloat

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

```
public static PropertyValuesHolder ofMultiFloat (String propertyName, 
                TypeConverter<T, float[]> converter, 
                TypeEvaluator<T> evaluator, 
                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/android/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.

<br />

<br />

| Parameters ||
|---|---|
| `propertyName` | `String`: The name of the property to associate with the set of values. This may also be the complete name of a setter function. <br /> |
| `converter` | `TypeConverter`: Converts `values` into float parameters for the setter. Can be null if the Keyframes have float\[\] values. <br /> |
| `evaluator` | `TypeEvaluator`: Used to interpolate between values. <br /> |
| `values` | `Keyframe`: The values at specific fractional times to evaluate between <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/animation/PropertyValuesHolder` | A PropertyValuesHolder for a multi-float parameter setter. <br /> |

### ofMultiFloat

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

```
public static PropertyValuesHolder ofMultiFloat (String propertyName, 
                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.

<br />

| Parameters ||
|---|---|
| `propertyName` | `String`: 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. <br /> |
| `path` | `Path`: The Path along which the values should be animated. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/animation/PropertyValuesHolder` | PropertyValuesHolder The constructed PropertyValuesHolder object. <br /> |

**See also:**

- `https://developer.android.com/reference/android/animation/ObjectAnimator#ofPropertyValuesHolder(java.lang.Object,%20android.animation.PropertyValuesHolder[])`

### ofMultiFloat

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

```
public static PropertyValuesHolder ofMultiFloat (String propertyName, 
                TypeConverter<V, float[]> converter, 
                TypeEvaluator<V> evaluator, 
                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.

<br />

| Parameters ||
|---|---|
| `propertyName` | `String`: The property being animated or complete name of the setter. Should not be null. <br /> |
| `converter` | `TypeConverter`: Used to convert the animated value to setter parameters. <br /> |
| `evaluator` | `TypeEvaluator`: A TypeEvaluator that will be called on each animation frame to provide the necessary interpolation between the Object values to derive the animated value. <br /> |
| `values` | `V`: The values that the property will animate between. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/animation/PropertyValuesHolder` | PropertyValuesHolder The constructed PropertyValuesHolder object. <br /> |

**See also:**

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

### ofMultiInt

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

```
public static PropertyValuesHolder ofMultiInt (String propertyName, 
                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.

<br />

| Parameters ||
|---|---|
| `propertyName` | `String`: 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. <br /> |
| `path` | `Path`: The Path along which the values should be animated. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/animation/PropertyValuesHolder` | PropertyValuesHolder The constructed PropertyValuesHolder object. <br /> |

**See also:**

- `https://developer.android.com/reference/android/animation/ObjectAnimator#ofPropertyValuesHolder(java.lang.Object,%20android.animation.PropertyValuesHolder[])`

### ofMultiInt

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

```
public static PropertyValuesHolder ofMultiInt (String propertyName, 
                TypeConverter<V, int[]> converter, 
                TypeEvaluator<V> evaluator, 
                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.

<br />

| Parameters ||
|---|---|
| `propertyName` | `String`: The property being animated or complete name of the setter. Should not be null. <br /> |
| `converter` | `TypeConverter`: Used to convert the animated value to setter parameters. <br /> |
| `evaluator` | `TypeEvaluator`: A TypeEvaluator that will be called on each animation frame to provide the necessary interpolation between the Object values to derive the animated value. <br /> |
| `values` | `V`: The values that the property will animate between. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/animation/PropertyValuesHolder` | PropertyValuesHolder The constructed PropertyValuesHolder object. <br /> |

**See also:**

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

### ofMultiInt

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

```
public static PropertyValuesHolder ofMultiInt (String propertyName, 
                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.

<br />

| Parameters ||
|---|---|
| `propertyName` | `String`: The name of the property being animated. Can also be the case-sensitive name of the entire setter method. Should not be null. <br /> |
| `values` | `int`: The values that the property will animate between. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/animation/PropertyValuesHolder` | PropertyValuesHolder The constructed PropertyValuesHolder object. <br /> |

**See also:**

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

### ofMultiInt

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

```
public static PropertyValuesHolder ofMultiInt (String propertyName, 
                TypeConverter<T, int[]> converter, 
                TypeEvaluator<T> evaluator, 
                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/android/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.

<br />

<br />

| Parameters ||
|---|---|
| `propertyName` | `String`: The name of the property to associate with the set of values. This may also be the complete name of a setter function. <br /> |
| `converter` | `TypeConverter`: Converts `values` into int parameters for the setter. Can be null if the Keyframes have int\[\] values. <br /> |
| `evaluator` | `TypeEvaluator`: Used to interpolate between values. <br /> |
| `values` | `Keyframe`: The values at specific fractional times to evaluate between <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/animation/PropertyValuesHolder` | A PropertyValuesHolder for a multi-int parameter setter. <br /> |

### ofObject

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

```
public static PropertyValuesHolder ofObject (Property<?, V> property, 
                TypeConverter<PointF, V> converter, 
                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.

<br />

<br />

| Parameters ||
|---|---|
| `property` | `Property`: The property being animated. Should not be null. <br /> |
| `converter` | `TypeConverter`: Converts a PointF to the type associated with the setter. May be null if conversion is unnecessary. <br /> |
| `path` | `Path`: The Path along which the values should be animated. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/animation/PropertyValuesHolder` | PropertyValuesHolder The constructed PropertyValuesHolder object. <br /> |

### ofObject

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

```
public static PropertyValuesHolder ofObject (Property<T, V> property, 
                TypeEvaluator<V> evaluator, 
                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.

<br />

| Parameters ||
|---|---|
| `property` | `Property`: The property being animated. Should not be null. <br /> |
| `evaluator` | `TypeEvaluator`: A TypeEvaluator that will be called on each animation frame to provide the necessary interpolation between the Object values to derive the animated value. <br /> |
| `values` | `V`: The values that the property will animate between. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/animation/PropertyValuesHolder` | PropertyValuesHolder The constructed PropertyValuesHolder object. <br /> |

### ofObject

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

```
public static PropertyValuesHolder ofObject (String propertyName, 
                TypeEvaluator<T> evaluator, 
                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.

<br />

| Parameters ||
|---|---|
| `propertyName` | `String`: The name of the property being animated. <br /> |
| `evaluator` | `TypeEvaluator`: A TypeEvaluator that will be called on each animation frame to provide the necessary interpolation between the Object values to derive the animated value. <br /> |
| `values` | `Object`: The values that the named property will animate between. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/animation/PropertyValuesHolder` | PropertyValuesHolder The constructed PropertyValuesHolder object. <br /> |

### ofObject

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

```
public static PropertyValuesHolder ofObject (String propertyName, 
                TypeConverter<PointF, ?> converter, 
                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.

<br />

<br />

| Parameters ||
|---|---|
| `propertyName` | `String`: The name of the property being animated. <br /> |
| `converter` | `TypeConverter`: Converts a PointF to the type associated with the setter. May be null if conversion is unnecessary. <br /> |
| `path` | `Path`: The Path along which the values should be animated. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/animation/PropertyValuesHolder` | PropertyValuesHolder The constructed PropertyValuesHolder object. <br /> |

### ofObject

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

```
public static PropertyValuesHolder ofObject (Property<?, V> property, 
                TypeConverter<T, V> converter, 
                TypeEvaluator<T> evaluator, 
                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/android/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.

<br />

| Parameters ||
|---|---|
| `property` | `Property`: The property being animated. Should not be null. <br /> |
| `converter` | `TypeConverter`: Converts the animated object to the Property type. <br /> |
| `evaluator` | `TypeEvaluator`: A TypeEvaluator that will be called on each animation frame to provide the necessary interpolation between the Object values to derive the animated value. <br /> |
| `values` | `T`: The values that the property will animate between. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/animation/PropertyValuesHolder` | PropertyValuesHolder The constructed PropertyValuesHolder object. <br /> |

**See also:**

- `https://developer.android.com/reference/android/animation/PropertyValuesHolder#setConverter(android.animation.TypeConverter)`
- `https://developer.android.com/reference/android/animation/TypeConverter`

### setConverter

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

```
public void setConverter (TypeConverter<T, V> 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/android/animation/BidirectionalTypeConverter`.

<br />

| Parameters ||
|---|---|
| `converter` | `TypeConverter`: The converter to use to convert values. <br /> |

### setEvaluator

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

```
public void setEvaluator (TypeEvaluator<T> 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.

<br />

### setFloatValues

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

```
public void setFloatValues (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/android/animation/ObjectAnimator`, and with a getter function derived automatically from `propertyName`, since otherwise PropertyValuesHolder has no way of determining what the value should be.

<br />

| Parameters ||
|---|---|
| `values` | `float`: One or more values that the animation will animate between. <br /> |

### setIntValues

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

```
public void setIntValues (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/android/animation/ObjectAnimator`, and with a getter function derived automatically from `propertyName`, since otherwise PropertyValuesHolder has no way of determining what the value should be.

<br />

| Parameters ||
|---|---|
| `values` | `int`: One or more values that the animation will animate between. <br /> |

### setKeyframes

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

```
public void setKeyframes (Keyframe... values)
```

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

<br />

| Parameters ||
|---|---|
| `values` | `Keyframe`: One or more values that the animation will animate between. <br /> |

### setObjectValues

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

```
public void setObjectValues (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/android/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.

<br />

| Parameters ||
|---|---|
| `values` | `Object`: One or more values that the animation will animate between. <br /> |

### setProperty

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

```
public void setProperty (Property<T, V> 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.

<br />

<br />

| Parameters ||
|---|---|
| `property` | `Property`: The property being animated. <br /> |

### setPropertyName

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

```
public void setPropertyName (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.

<br />

<br />

| Parameters ||
|---|---|
| `propertyName` | `String`: The name of the property being animated. <br /> |

### toString

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

```
public String toString ()
```

Returns a string representation of the object.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | a string representation of the object. <br /> |