# Animatable2Compat

Artifact: [androidx.vectordrawable:vectordrawable-animated](https://developer.android.com/jetpack/androidx/releases/vectordrawable) [View Source](https://cs.android.com/search?q=file:androidx/vectordrawable/graphics/drawable/Animatable2Compat.java+class:androidx.vectordrawable.graphics.drawable.Animatable2Compat) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/vectordrawable#1.0.0)

*** ** * ** ***


```
public interface Animatable2Compat extends Animatable
```

<br />

Known direct subclasses [AnimatedVectorDrawableCompat](https://developer.android.com/reference/androidx/vectordrawable/graphics/drawable/AnimatedVectorDrawableCompat)

|---|---|
| `https://developer.android.com/reference/androidx/vectordrawable/graphics/drawable/AnimatedVectorDrawableCompat` | For API 24 and above, this class is delegating to the framework's `https://developer.android.com/reference/android/graphics/drawable/AnimatedVectorDrawable.html`. |

*** ** * ** ***

Interface that drawables supporting animations and callbacks should extend in support lib.

## Summary

| ### Nested types |
|---|
| `public abstract class https://developer.android.com/reference/androidx/vectordrawable/graphics/drawable/Animatable2Compat.AnimationCallback` Abstract class for animation callback. |

| ### Public methods |
|---|---|
| `abstract void` | `https://developer.android.com/reference/androidx/vectordrawable/graphics/drawable/Animatable2Compat#clearAnimationCallbacks()()` Removes all existing animation callbacks. |
| `abstract void` | `https://developer.android.com/reference/androidx/vectordrawable/graphics/drawable/Animatable2Compat#registerAnimationCallback(androidx.vectordrawable.graphics.drawable.Animatable2Compat.AnimationCallback)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/vectordrawable/graphics/drawable/Animatable2Compat.AnimationCallback callback )` Adds a callback to listen to the animation events. |
| `abstract boolean` | `https://developer.android.com/reference/androidx/vectordrawable/graphics/drawable/Animatable2Compat#unregisterAnimationCallback(androidx.vectordrawable.graphics.drawable.Animatable2Compat.AnimationCallback)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/vectordrawable/graphics/drawable/Animatable2Compat.AnimationCallback callback )` Removes the specified animation callback. |

| ### Inherited methods |
|---|
| From [android.graphics.drawable.Animatable](https://developer.android.com/reference/android/graphics/drawable/Animatable.html) |---|---| | `abstract boolean` | `https://developer.android.com/reference/android/graphics/drawable/Animatable.html#isRunning()()` | | `abstract void` | `https://developer.android.com/reference/android/graphics/drawable/Animatable.html#start()()` | | `abstract void` | `https://developer.android.com/reference/android/graphics/drawable/Animatable.html#stop()()` | |

## Public methods

### clearAnimationCallbacks

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

```
abstract void clearAnimationCallbacks()
```

Removes all existing animation callbacks.

### registerAnimationCallback

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

```
abstract void registerAnimationCallback(
    @NonNull Animatable2Compat.AnimationCallback callback
)
```

Adds a callback to listen to the animation events.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/vectordrawable/graphics/drawable/Animatable2Compat.AnimationCallback callback` | Callback to add. |

### unregisterAnimationCallback

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

```
abstract boolean unregisterAnimationCallback(
    @NonNull Animatable2Compat.AnimationCallback callback
)
```

Removes the specified animation callback.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/vectordrawable/graphics/drawable/Animatable2Compat.AnimationCallback callback` | Callback to remove. |

| Returns |
|---|---|
| `boolean` | `false` if callback didn't exist in the call back list, or `true` if callback has been removed successfully. |