added in [version 25.4.0](https://developer.android.com/topic/libraries/support-library/revisions)   
belongs to Maven artifact com.android.support:support-dynamic-animation:28.0.0-alpha1 Summary: [Nested Classes](https://developer.android.com/reference/android/support/animation/DynamicAnimation#nestedclasses) \| [Constants](https://developer.android.com/reference/android/support/animation/DynamicAnimation#constants) \| [Fields](https://developer.android.com/reference/android/support/animation/DynamicAnimation#lfields) \| [Methods](https://developer.android.com/reference/android/support/animation/DynamicAnimation#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/support/animation/DynamicAnimation#inhmethods) \| [\[Expand All\]](https://developer.android.com/reference/android/support/animation/DynamicAnimation#)

# DynamicAnimation

| This package is part of the Android [support library](https://developer.android.com/topic/libraries/support-library) which is no longer maintained. The support library has been superseded by [AndroidX](https://developer.android.com/jetpack/androidx) which is part of [Jetpack](https://developer.android.com/jetpack). We recommend using the AndroidX libraries in all new projects. You should also consider [migrating](https://developer.android.com/jetpack/androidx/migrate) existing projects to AndroidX. To find the AndroidX class that maps to this deprecated class, see the AndroidX support library [class
| mappings](https://developer.android.com/jetpack/androidx/migrate/class-mappings).


`
public


abstract
class
DynamicAnimation
`


`

extends Object


`

`


`

|---|---|
| java.lang.Object ||
| ↳ | android.support.animation.DynamicAnimation\<T extends [android.support.animation.DynamicAnimation](https://developer.android.com/reference/android/support/animation/DynamicAnimation)\<T\>\> |

|---|
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/animation/DynamicAnimation#)Known Direct Subclasses [FlingAnimation](https://developer.android.com/reference/android/support/animation/FlingAnimation),[SpringAnimation](https://developer.android.com/reference/android/support/animation/SpringAnimation) |---|---| | [FlingAnimation](https://developer.android.com/reference/android/support/animation/FlingAnimation) | Fling animation is an animation that continues an initial momentum (most often from gesture velocity) and gradually slows down. | | [SpringAnimation](https://developer.android.com/reference/android/support/animation/SpringAnimation) | SpringAnimation is an animation that is driven by a `https://developer.android.com/reference/android/support/animation/SpringForce`. | |

<br />

*** ** * ** ***

This class is the base class of physics-based animations. It manages the animation's
lifecycle such as `https://developer.android.com/reference/android/support/animation/DynamicAnimation#start()` and `https://developer.android.com/reference/android/support/animation/DynamicAnimation#cancel()`. This base class also handles the common
setup for all the subclass animations. For example, DynamicAnimation supports adding
`https://developer.android.com/reference/android/support/animation/DynamicAnimation.OnAnimationEndListener` and `https://developer.android.com/reference/android/support/animation/DynamicAnimation.OnAnimationUpdateListener` so that the important
animation events can be observed through the callbacks. The start conditions for any subclass of
DynamicAnimation can be set using `https://developer.android.com/reference/android/support/animation/DynamicAnimation#setStartValue(float)` and
`https://developer.android.com/reference/android/support/animation/DynamicAnimation#setStartVelocity(float)`.

## Summary

| ### Nested classes ||
|---|---|
| ` interface` | `https://developer.android.com/reference/android/support/animation/DynamicAnimation.OnAnimationEndListener` An animation listener that receives end notifications from an animation. |
| ` interface` | `https://developer.android.com/reference/android/support/animation/DynamicAnimation.OnAnimationUpdateListener` Implementors of this interface can add themselves as update listeners to an `DynamicAnimation` instance to receive callbacks on every animation frame, after the current frame's values have been calculated for that `DynamicAnimation`. |
| ` class` | `https://developer.android.com/reference/android/support/animation/DynamicAnimation.ViewProperty` ViewProperty holds the access of a property of a `https://developer.android.com/reference/android/view/View.html`. |

| ### Constants ||
|---|---|
| `float` | `https://developer.android.com/reference/android/support/animation/DynamicAnimation#MIN_VISIBLE_CHANGE_ALPHA` The minimum visible change in alpha that can be visible to users. |
| `float` | `https://developer.android.com/reference/android/support/animation/DynamicAnimation#MIN_VISIBLE_CHANGE_PIXELS` The minimum visible change in pixels that can be visible to users. |
| `float` | `https://developer.android.com/reference/android/support/animation/DynamicAnimation#MIN_VISIBLE_CHANGE_ROTATION_DEGREES` The minimum visible change in degrees that can be visible to users. |
| `float` | `https://developer.android.com/reference/android/support/animation/DynamicAnimation#MIN_VISIBLE_CHANGE_SCALE` The minimum visible change in scale that can be visible to users. |

| ### Fields ||
|---|---|
| ` public static final https://developer.android.com/reference/android/support/animation/DynamicAnimation.ViewProperty` | `https://developer.android.com/reference/android/support/animation/DynamicAnimation#ALPHA` View's alpha property. |
| ` public static final https://developer.android.com/reference/android/support/animation/DynamicAnimation.ViewProperty` | `https://developer.android.com/reference/android/support/animation/DynamicAnimation#ROTATION` View's rotation property. |
| ` public static final https://developer.android.com/reference/android/support/animation/DynamicAnimation.ViewProperty` | `https://developer.android.com/reference/android/support/animation/DynamicAnimation#ROTATION_X` View's rotationX property. |
| ` public static final https://developer.android.com/reference/android/support/animation/DynamicAnimation.ViewProperty` | `https://developer.android.com/reference/android/support/animation/DynamicAnimation#ROTATION_Y` View's rotationY property. |
| ` public static final https://developer.android.com/reference/android/support/animation/DynamicAnimation.ViewProperty` | `https://developer.android.com/reference/android/support/animation/DynamicAnimation#SCALE_X` View's scaleX property. |
| ` public static final https://developer.android.com/reference/android/support/animation/DynamicAnimation.ViewProperty` | `https://developer.android.com/reference/android/support/animation/DynamicAnimation#SCALE_Y` View's scaleY property. |
| ` public static final https://developer.android.com/reference/android/support/animation/DynamicAnimation.ViewProperty` | `https://developer.android.com/reference/android/support/animation/DynamicAnimation#SCROLL_X` View's scrollX property. |
| ` public static final https://developer.android.com/reference/android/support/animation/DynamicAnimation.ViewProperty` | `https://developer.android.com/reference/android/support/animation/DynamicAnimation#SCROLL_Y` View's scrollY property. |
| ` public static final https://developer.android.com/reference/android/support/animation/DynamicAnimation.ViewProperty` | `https://developer.android.com/reference/android/support/animation/DynamicAnimation#TRANSLATION_X` View's translationX property. |
| ` public static final https://developer.android.com/reference/android/support/animation/DynamicAnimation.ViewProperty` | `https://developer.android.com/reference/android/support/animation/DynamicAnimation#TRANSLATION_Y` View's translationY property. |
| ` public static final https://developer.android.com/reference/android/support/animation/DynamicAnimation.ViewProperty` | `https://developer.android.com/reference/android/support/animation/DynamicAnimation#TRANSLATION_Z` View's translationZ property. |
| ` public static final https://developer.android.com/reference/android/support/animation/DynamicAnimation.ViewProperty` | `https://developer.android.com/reference/android/support/animation/DynamicAnimation#X` View's x property. |
| ` public static final https://developer.android.com/reference/android/support/animation/DynamicAnimation.ViewProperty` | `https://developer.android.com/reference/android/support/animation/DynamicAnimation#Y` View's y property. |
| ` public static final https://developer.android.com/reference/android/support/animation/DynamicAnimation.ViewProperty` | `https://developer.android.com/reference/android/support/animation/DynamicAnimation#Z` View's z property. |

| ### Public methods ||
|---|---|
| ` T` | ` https://developer.android.com/reference/android/support/animation/DynamicAnimation#addEndListener(android.support.animation.DynamicAnimation.OnAnimationEndListener)(https://developer.android.com/reference/android/support/animation/DynamicAnimation.OnAnimationEndListener listener) ` Adds an end listener to the animation for receiving onAnimationEnd callbacks. |
| ` T` | ` https://developer.android.com/reference/android/support/animation/DynamicAnimation#addUpdateListener(android.support.animation.DynamicAnimation.OnAnimationUpdateListener)(https://developer.android.com/reference/android/support/animation/DynamicAnimation.OnAnimationUpdateListener listener) ` Adds an update listener to the animation for receiving per-frame animation update callbacks. |
| ` void` | ` https://developer.android.com/reference/android/support/animation/DynamicAnimation#cancel()() ` Cancels the on-going animation. |
| ` float` | ` https://developer.android.com/reference/android/support/animation/DynamicAnimation#getMinimumVisibleChange()() ` Returns the minimum change in the animation property that could be visibly different to users. |
| ` boolean` | ` https://developer.android.com/reference/android/support/animation/DynamicAnimation#isRunning()() ` Returns whether the animation is currently running. |
| ` void` | ` https://developer.android.com/reference/android/support/animation/DynamicAnimation#removeEndListener(android.support.animation.DynamicAnimation.OnAnimationEndListener)(https://developer.android.com/reference/android/support/animation/DynamicAnimation.OnAnimationEndListener listener) ` Removes the end listener from the animation, so as to stop receiving animation end callbacks. |
| ` void` | ` https://developer.android.com/reference/android/support/animation/DynamicAnimation#removeUpdateListener(android.support.animation.DynamicAnimation.OnAnimationUpdateListener)(https://developer.android.com/reference/android/support/animation/DynamicAnimation.OnAnimationUpdateListener listener) ` Removes the update listener from the animation, so as to stop receiving animation update callbacks. |
| ` T` | ` https://developer.android.com/reference/android/support/animation/DynamicAnimation#setMaxValue(float)(float max) ` Sets the max value of the animation. |
| ` T` | ` https://developer.android.com/reference/android/support/animation/DynamicAnimation#setMinValue(float)(float min) ` Sets the min value of the animation. |
| ` T` | ` https://developer.android.com/reference/android/support/animation/DynamicAnimation#setMinimumVisibleChange(float)(float minimumVisibleChange) ` This method sets the minimal change of animation value that is visible to users, which helps determine a reasonable threshold for the animation's termination condition. |
| ` T` | ` https://developer.android.com/reference/android/support/animation/DynamicAnimation#setStartValue(float)(float startValue) ` Sets the start value of the animation. |
| ` T` | ` https://developer.android.com/reference/android/support/animation/DynamicAnimation#setStartVelocity(float)(float startVelocity) ` Start velocity of the animation. |
| ` void` | ` https://developer.android.com/reference/android/support/animation/DynamicAnimation#start()() ` Starts an animation. |

| ### Inherited methods |
|---|---|
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/animation/DynamicAnimation#)From class ` java.lang.Object ` |---|---| | ` Object` | ` clone() ` | | ` boolean` | ` equals(Object arg0) ` | | ` void` | ` finalize() ` | | ` final Class<?>` | ` getClass() ` | | ` int` | ` hashCode() ` | | ` final void` | ` notify() ` | | ` final void` | ` notifyAll() ` | | ` String` | ` toString() ` | | ` final void` | ` wait(long arg0, int arg1) ` | | ` final void` | ` wait(long arg0) ` | | ` final void` | ` wait() ` | ||

## Constants

### MIN_VISIBLE_CHANGE_ALPHA

added in [version 25.4.0](https://developer.android.com/topic/libraries/support-library/revisions)

```
float MIN_VISIBLE_CHANGE_ALPHA
```

The minimum visible change in alpha that can be visible to users.

<br />

Constant Value:

0.00390625


### MIN_VISIBLE_CHANGE_PIXELS

added in [version 25.4.0](https://developer.android.com/topic/libraries/support-library/revisions)

```
float MIN_VISIBLE_CHANGE_PIXELS
```

The minimum visible change in pixels that can be visible to users.

<br />

Constant Value:

1.0


### MIN_VISIBLE_CHANGE_ROTATION_DEGREES

added in [version 25.4.0](https://developer.android.com/topic/libraries/support-library/revisions)

```
float MIN_VISIBLE_CHANGE_ROTATION_DEGREES
```

The minimum visible change in degrees that can be visible to users.

<br />

Constant Value:

0.1


### MIN_VISIBLE_CHANGE_SCALE

added in [version 25.4.0](https://developer.android.com/topic/libraries/support-library/revisions)

```
float MIN_VISIBLE_CHANGE_SCALE
```

The minimum visible change in scale that can be visible to users.

<br />

Constant Value:

0.002


## Fields

### ALPHA

added in [version 25.4.0](https://developer.android.com/topic/libraries/support-library/revisions)

```
DynamicAnimation.ViewProperty ALPHA
```

View's alpha property.

<br />

### ROTATION

added in [version 25.4.0](https://developer.android.com/topic/libraries/support-library/revisions)

```
DynamicAnimation.ViewProperty ROTATION
```

View's rotation property.

<br />

### ROTATION_X

added in [version 25.4.0](https://developer.android.com/topic/libraries/support-library/revisions)

```
DynamicAnimation.ViewProperty ROTATION_X
```

View's rotationX property.

<br />

### ROTATION_Y

added in [version 25.4.0](https://developer.android.com/topic/libraries/support-library/revisions)

```
DynamicAnimation.ViewProperty ROTATION_Y
```

View's rotationY property.

<br />

### SCALE_X

added in [version 25.4.0](https://developer.android.com/topic/libraries/support-library/revisions)

```
DynamicAnimation.ViewProperty SCALE_X
```

View's scaleX property.

<br />

### SCALE_Y

added in [version 25.4.0](https://developer.android.com/topic/libraries/support-library/revisions)

```
DynamicAnimation.ViewProperty SCALE_Y
```

View's scaleY property.

<br />

### SCROLL_X

added in [version 25.4.0](https://developer.android.com/topic/libraries/support-library/revisions)

```
DynamicAnimation.ViewProperty SCROLL_X
```

View's scrollX property.

<br />

### SCROLL_Y

added in [version 25.4.0](https://developer.android.com/topic/libraries/support-library/revisions)

```
DynamicAnimation.ViewProperty SCROLL_Y
```

View's scrollY property.

<br />

### TRANSLATION_X

added in [version 25.4.0](https://developer.android.com/topic/libraries/support-library/revisions)

```
DynamicAnimation.ViewProperty TRANSLATION_X
```

View's translationX property.

<br />

### TRANSLATION_Y

added in [version 25.4.0](https://developer.android.com/topic/libraries/support-library/revisions)

```
DynamicAnimation.ViewProperty TRANSLATION_Y
```

View's translationY property.

<br />

### TRANSLATION_Z

added in [version 25.4.0](https://developer.android.com/topic/libraries/support-library/revisions)

```
DynamicAnimation.ViewProperty TRANSLATION_Z
```

View's translationZ property.

<br />

### X

added in [version 25.4.0](https://developer.android.com/topic/libraries/support-library/revisions)

```
DynamicAnimation.ViewProperty X
```

View's x property.

<br />

### Y

added in [version 25.4.0](https://developer.android.com/topic/libraries/support-library/revisions)

```
DynamicAnimation.ViewProperty Y
```

View's y property.

<br />

### Z

added in [version 25.4.0](https://developer.android.com/topic/libraries/support-library/revisions)

```
DynamicAnimation.ViewProperty Z
```

View's z property.

<br />

## Public methods

### addEndListener

added in [version 25.4.0](https://developer.android.com/topic/libraries/support-library/revisions)

```
T addEndListener (DynamicAnimation.OnAnimationEndListener listener)
```

Adds an end listener to the animation for receiving onAnimationEnd callbacks. If the listener
is `null` or has already been added to the list of listeners for the animation, no op.

<br />

| Parameters ||
|---|---|
| `listener` | `DynamicAnimation.OnAnimationEndListener`: the listener to be added <br /> |

| Returns ||
|---|---|
| `T` | the animation to which the listener is added <br /> |

### addUpdateListener

added in [version 25.4.0](https://developer.android.com/topic/libraries/support-library/revisions)

```
T addUpdateListener (DynamicAnimation.OnAnimationUpdateListener listener)
```

Adds an update listener to the animation for receiving per-frame animation update callbacks.
If the listener is `null` or has already been added to the list of listeners for the
animation, no op.

Note that update listener should only be added before the start of the animation.

<br />

| Parameters ||
|---|---|
| `listener` | `DynamicAnimation.OnAnimationUpdateListener`: the listener to be added <br /> |

| Returns ||
|---|---|
| `T` | the animation to which the listener is added <br /> |

| Throws ||
|---|---|
| `UnsupportedOperationException` | if the update listener is added after the animation has started |

### cancel

added in [version 25.4.0](https://developer.android.com/topic/libraries/support-library/revisions)

```
void cancel ()
```

Cancels the on-going animation. If the animation hasn't started, no op. Note that this method
should only be called on main thread.

<br />

| Throws ||
|---|---|
| `https://developer.android.com/reference/android/util/AndroidRuntimeException.html` | if this method is not called on the main thread |

### getMinimumVisibleChange

added in [version 25.4.0](https://developer.android.com/topic/libraries/support-library/revisions)

```
float getMinimumVisibleChange ()
```

Returns the minimum change in the animation property that could be visibly different to
users.

<br />

| Returns ||
|---|---|
| `float` | minimum change in property value that is visible to users <br /> |

### isRunning

added in [version 25.4.0](https://developer.android.com/topic/libraries/support-library/revisions)

```
boolean isRunning ()
```

Returns whether the animation is currently running.

<br />

| Returns ||
|---|---|
| `boolean` | `true` if the animation is currently running, `false` otherwise <br /> |

### removeEndListener

added in [version 25.4.0](https://developer.android.com/topic/libraries/support-library/revisions)

```
void removeEndListener (DynamicAnimation.OnAnimationEndListener listener)
```

Removes the end listener from the animation, so as to stop receiving animation end callbacks.

<br />

| Parameters ||
|---|---|
| `listener` | `DynamicAnimation.OnAnimationEndListener`: the listener to be removed <br /> |

### removeUpdateListener

added in [version 25.4.0](https://developer.android.com/topic/libraries/support-library/revisions)

```
void removeUpdateListener (DynamicAnimation.OnAnimationUpdateListener listener)
```

Removes the update listener from the animation, so as to stop receiving animation update
callbacks.

<br />

| Parameters ||
|---|---|
| `listener` | `DynamicAnimation.OnAnimationUpdateListener`: the listener to be removed <br /> |

### setMaxValue

added in [version 25.4.0](https://developer.android.com/topic/libraries/support-library/revisions)

```
T setMaxValue (float max)
```

Sets the max value of the animation. Animations will not animate beyond their max value.
Whether or not animation will come to an end when max value is reached is dependent on the
child animation's implementation.

<br />

| Parameters ||
|---|---|
| `max` | `float`: maximum value of the property to be animated <br /> |

| Returns ||
|---|---|
| `T` | the Animation whose max value is being set <br /> |

### setMinValue

added in [version 25.4.0](https://developer.android.com/topic/libraries/support-library/revisions)

```
T setMinValue (float min)
```

Sets the min value of the animation. Animations will not animate beyond their min value.
Whether or not animation will come to an end when min value is reached is dependent on the
child animation's implementation.

<br />

| Parameters ||
|---|---|
| `min` | `float`: minimum value of the property to be animated <br /> |

| Returns ||
|---|---|
| `T` | the Animation whose min value is being set <br /> |

### setMinimumVisibleChange

added in [version 25.4.0](https://developer.android.com/topic/libraries/support-library/revisions)

```
T setMinimumVisibleChange (float minimumVisibleChange)
```

This method sets the minimal change of animation value that is visible to users, which helps
determine a reasonable threshold for the animation's termination condition. It is critical
to set the minimal visible change for custom properties (i.e. non-`ViewProperty`s)
unless the custom property is in pixels.

For custom properties, this minimum visible change defaults to change in pixel
(i.e. `https://developer.android.com/reference/android/support/animation/DynamicAnimation#MIN_VISIBLE_CHANGE_PIXELS`. It is recommended to adjust this value that is
reasonable for the property to be animated. A general rule of thumb to calculate such a value
is: minimum visible change = range of custom property value / corresponding pixel range. For
example, if the property to be animated is a progress (from 0 to 100) that corresponds to a
200-pixel change. Then the min visible change should be 100 / 200. (i.e. 0.5).

It's not necessary to call this method when animating `https://developer.android.com/reference/android/support/animation/DynamicAnimation.ViewProperty`s, as the
minimum visible change will be derived from the property. For example, if the property to be
animated is in pixels (i.e. `https://developer.android.com/reference/android/support/animation/DynamicAnimation#TRANSLATION_X`, `https://developer.android.com/reference/android/support/animation/DynamicAnimation#TRANSLATION_Y`,
`https://developer.android.com/reference/android/support/animation/DynamicAnimation#TRANSLATION_Z`, @`https://developer.android.com/reference/android/support/animation/DynamicAnimation#SCROLL_X` or `https://developer.android.com/reference/android/support/animation/DynamicAnimation#SCROLL_Y`), the default minimum visible
change is 1 (pixel). For `https://developer.android.com/reference/android/support/animation/DynamicAnimation#ROTATION`, `https://developer.android.com/reference/android/support/animation/DynamicAnimation#ROTATION_X` or `https://developer.android.com/reference/android/support/animation/DynamicAnimation#ROTATION_Y`, the
animation will use `https://developer.android.com/reference/android/support/animation/DynamicAnimation#MIN_VISIBLE_CHANGE_ROTATION_DEGREES` as the min visible change,
which is 1/10. Similarly, the minimum visible change for alpha (
i.e. `https://developer.android.com/reference/android/support/animation/DynamicAnimation#MIN_VISIBLE_CHANGE_ALPHA` is defined as 1 / 256.

<br />

| Parameters ||
|---|---|
| `minimumVisibleChange` | `float`: minimum change in property value that is visible to users Value is 0.0 or greater. |

| Returns ||
|---|---|
| `T` | the animation whose min visible change is being set <br /> |

| Throws ||
|---|---|
| `IllegalArgumentException` | if the given threshold is not positive |

### setStartValue

added in [version 25.4.0](https://developer.android.com/topic/libraries/support-library/revisions)

```
T setStartValue (float startValue)
```

Sets the start value of the animation. If start value is not set, the animation will get
the current value for the view's property, and use that as the start value.

<br />

| Parameters ||
|---|---|
| `startValue` | `float`: start value for the animation <br /> |

| Returns ||
|---|---|
| `T` | the Animation whose start value is being set <br /> |

### setStartVelocity

added in [version 25.4.0](https://developer.android.com/topic/libraries/support-library/revisions)

```
T setStartVelocity (float startVelocity)
```

Start velocity of the animation. Default velocity is 0. Unit: change in property per
second (e.g. pixels per second, scale/alpha value change per second).

Note when using a fixed value as the start velocity (as opposed to getting the velocity
through touch events), it is recommended to define such a value in dp/second and convert it
to pixel/second based on the density of the screen to achieve a consistent look across
different screens.

To convert from dp/second to pixel/second:

```scdoc
 float pixelPerSecond = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dpPerSecond,
         getResources().getDisplayMetrics());
 
```

<br />

<br />

| Parameters ||
|---|---|
| `startVelocity` | `float`: start velocity of the animation <br /> |

| Returns ||
|---|---|
| `T` | the Animation whose start velocity is being set <br /> |

### start

added in [version 25.4.0](https://developer.android.com/topic/libraries/support-library/revisions)

```
void start ()
```

Starts an animation. If the animation has already been started, no op. Note that calling
`https://developer.android.com/reference/android/support/animation/DynamicAnimation#start()` will not immediately set the property value to start value of the animation.
The property values will be changed at each animation pulse, which happens before the draw
pass. As a result, the changes will be reflected in the next frame, the same as if the values
were set immediately. This method should only be called on main thread.

<br />

| Throws ||
|---|---|
| `https://developer.android.com/reference/android/util/AndroidRuntimeException.html` | if this method is not called on the main thread |

-

  ## Interfaces

  - [DynamicAnimation.OnAnimationEndListener](https://developer.android.com/reference/android/support/animation/DynamicAnimation.OnAnimationEndListener)
  - [DynamicAnimation.OnAnimationUpdateListener](https://developer.android.com/reference/android/support/animation/DynamicAnimation.OnAnimationUpdateListener)
-

  ## Classes

  - [DynamicAnimation](https://developer.android.com/reference/android/support/animation/DynamicAnimation)
  - [DynamicAnimation.ViewProperty](https://developer.android.com/reference/android/support/animation/DynamicAnimation.ViewProperty)
  - [FlingAnimation](https://developer.android.com/reference/android/support/animation/FlingAnimation)
  - [FloatPropertyCompat](https://developer.android.com/reference/android/support/animation/FloatPropertyCompat)
  - [FloatValueHolder](https://developer.android.com/reference/android/support/animation/FloatValueHolder)
  - [SpringAnimation](https://developer.android.com/reference/android/support/animation/SpringAnimation)
  - [SpringForce](https://developer.android.com/reference/android/support/animation/SpringForce)