# MotionScheme

# MotionScheme

Artifact:[androidx.wear.compose:compose-material3](https://developer.android.com/jetpack/androidx/releases/wear-compose)  
[View Source](https://cs.android.com/search?q=file:androidx/wear/compose/material3/MotionScheme.kt+class:androidx.wear.compose.material3.MotionScheme)  
Added in[1.5.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.5.0)

<br />

```
interface MotionScheme
```

<br />

*** ** * ** ***

A motion scheme provides all the[FiniteAnimationSpec](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/FiniteAnimationSpec)s for a[MaterialTheme](https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/MaterialTheme).

Motion schemes are designed to create a harmonious motion for components in the app.

There are two built-in schemes, a[standard](https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/MotionScheme#standard())and an[expressive](https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/MotionScheme#expressive()), that can be used as-is or customized.

## Summary

|                                       ### Public companion functions                                        |
|-------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [MotionScheme](https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/MotionScheme) | [expressive](https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/MotionScheme#expressive())`()` Returns an expressive Material motion scheme. |
| [MotionScheme](https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/MotionScheme) | [standard](https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/MotionScheme#standard())`()` Returns a standard Material motion scheme.        |

|                                                      ### Public functions                                                      |
|--------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [FiniteAnimationSpec](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/FiniteAnimationSpec)`<T>` | `<T : `[Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html)`?> `[defaultEffectsSpec](https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/MotionScheme#defaultEffectsSpec())`()` A default effects motion[FiniteAnimationSpec](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/FiniteAnimationSpec). |
| [FiniteAnimationSpec](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/FiniteAnimationSpec)`<T>` | `<T : `[Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html)`?> `[defaultSpatialSpec](https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/MotionScheme#defaultSpatialSpec())`()` A default spatial motion[FiniteAnimationSpec](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/FiniteAnimationSpec). |
| [FiniteAnimationSpec](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/FiniteAnimationSpec)`<T>` | `<T : `[Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html)`?> `[fastEffectsSpec](https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/MotionScheme#fastEffectsSpec())`()` A fast effects motion[FiniteAnimationSpec](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/FiniteAnimationSpec).          |
| [FiniteAnimationSpec](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/FiniteAnimationSpec)`<T>` | `<T : `[Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html)`?> `[fastSpatialSpec](https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/MotionScheme#fastSpatialSpec())`()` A fast spatial motion[FiniteAnimationSpec](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/FiniteAnimationSpec).          |
| [FiniteAnimationSpec](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/FiniteAnimationSpec)`<T>` | `<T : `[Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html)`?> `[slowEffectsSpec](https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/MotionScheme#slowEffectsSpec())`()` A slow effects motion[FiniteAnimationSpec](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/FiniteAnimationSpec).          |
| [FiniteAnimationSpec](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/FiniteAnimationSpec)`<T>` | `<T : `[Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html)`?> `[slowSpatialSpec](https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/MotionScheme#slowSpatialSpec())`()` A slow spatial motion[FiniteAnimationSpec](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/FiniteAnimationSpec).          |

## Public companion functions

### expressive

Added in[1.5.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.5.0)  

```
fun expressive(): MotionScheme
```

Returns an expressive Material motion scheme.

The expressive scheme is Material's recommended motion scheme for prominent UI elements and hero interactions. It provides a visually engaging motion feel.  

### standard

Added in[1.5.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.5.0)  

```
fun standard(): MotionScheme
```

Returns a standard Material motion scheme.

The standard scheme is Material's basic motion scheme for utilitarian UI elements and recurring interactions. It provides a linear motion feel.  

## Public functions

### defaultEffectsSpec

Added in[1.5.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.5.0)  

```
fun <T : Any?> defaultEffectsSpec(): FiniteAnimationSpec<T>
```

A default effects motion[FiniteAnimationSpec](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/FiniteAnimationSpec).

This motion spec is designed to be applied to animations that have strict limits and which shouldn't overshoot their targets - such as color or alpha animations. For shape, bounds or other animations which don't have strict limits use the 'spatial\` equivalent.

[T](https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/MotionScheme#defaultEffectsSpec())is the generic data type that will be animated by the system, as long as the appropriate[TwoWayConverter](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/TwoWayConverter)for converting the data to and from an[AnimationVector](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/AnimationVector)is supplied.  

### defaultSpatialSpec

Added in[1.5.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.5.0)  

```
fun <T : Any?> defaultSpatialSpec(): FiniteAnimationSpec<T>
```

A default spatial motion[FiniteAnimationSpec](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/FiniteAnimationSpec).

This motion spec is designed to be applied to animations that can overshoot their targets

- such as shape or bounds animations. For color, alpha or other animations which have strict limits use the`effects`equivalent.

[T](https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/MotionScheme#defaultSpatialSpec())is the generic data type that will be animated by the system, as long as the appropriate[TwoWayConverter](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/TwoWayConverter)for converting the data to and from an[AnimationVector](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/AnimationVector)is supplied.  

### fastEffectsSpec

Added in[1.5.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.5.0)  

```
fun <T : Any?> fastEffectsSpec(): FiniteAnimationSpec<T>
```

A fast effects motion[FiniteAnimationSpec](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/FiniteAnimationSpec).

This motion spec is designed to be applied to animations that have strict limits and which shouldn't overshoot their targets - such as color or alpha animations. For shape, bounds or other animations which don't have strict limits use the 'spatial\` equivalent.

[T](https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/MotionScheme#fastEffectsSpec())is the generic data type that will be animated by the system, as long as the appropriate[TwoWayConverter](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/TwoWayConverter)for converting the data to and from an[AnimationVector](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/AnimationVector)is supplied.  

### fastSpatialSpec

Added in[1.5.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.5.0)  

```
fun <T : Any?> fastSpatialSpec(): FiniteAnimationSpec<T>
```

A fast spatial motion[FiniteAnimationSpec](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/FiniteAnimationSpec).

This motion spec is designed to be applied to animations that can overshoot their targets

- such as shape or bounds animations. For color, alpha or other animations which have strict limits use the`effects`equivalent.

[T](https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/MotionScheme#fastSpatialSpec())is the generic data type that will be animated by the system, as long as the appropriate[TwoWayConverter](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/TwoWayConverter)for converting the data to and from an[AnimationVector](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/AnimationVector)is supplied.  

### slowEffectsSpec

Added in[1.5.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.5.0)  

```
fun <T : Any?> slowEffectsSpec(): FiniteAnimationSpec<T>
```

A slow effects motion[FiniteAnimationSpec](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/FiniteAnimationSpec).

This motion spec is designed to be applied to animations that have strict limits and which shouldn't overshoot their targets - such as color or alpha animations. For shape, bounds or other animations which don't have strict limits use the 'spatial\` equivalent.

[T](https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/MotionScheme#slowEffectsSpec())is the generic data type that will be animated by the system, as long as the appropriate[TwoWayConverter](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/TwoWayConverter)for converting the data to and from an[AnimationVector](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/AnimationVector)is supplied.  

### slowSpatialSpec

Added in[1.5.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.5.0)  

```
fun <T : Any?> slowSpatialSpec(): FiniteAnimationSpec<T>
```

A slow spatial motion[FiniteAnimationSpec](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/FiniteAnimationSpec).

This motion spec is designed to be applied to animations that can overshoot their targets

- such as shape or bounds animations. For color, alpha or other animations which have strict limits use the`effects`equivalent.

[T](https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/MotionScheme#slowSpatialSpec())is the generic data type that will be animated by the system, as long as the appropriate[TwoWayConverter](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/TwoWayConverter)for converting the data to and from an[AnimationVector](https://developer.android.com/reference/kotlin/androidx/compose/animation/core/AnimationVector)is supplied.