You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
See the [Motion Theming section](#theming) for details on how to systematically
1076
+
update motion.
1077
+
1078
+
## Theming
1079
+
1080
+
Motion theming will only be available in Material Components for Android version
1081
+
`1.4.0-alpha01` and above.
1082
+
1083
+
The Material motion system is backed by a limited number of slots which
1084
+
transitions use by default to create a consistent, branded feel. These slots are
1085
+
implemented as theme attributes, similar to color or shape attributes.
1086
+
1087
+
### Easing
1088
+
1089
+
Easing theme attributes define a set of curves that can be inflated and used as [Interpolators](https://developer.android.com/reference/androidx/core/animation/Interpolator).
**?attr/motionEasingStandard** | `cubic-bezier(0.4, 0.0, 0.2, 1)`<br/>`FastOutSlowIn` | Easing used for elements that begin and end at rest.
1094
+
**?attr/motionEasingEmphasized** | `path(M 0,0 C 0.05, 0, 0.133333, 0.06, 0.166666, 0.4 C 0.208333, 0.82, 0.25, 1, 1, 1)`<br/>`FastOutExtraSlowIn` | Easing used for elements that begin and end at rest but want extra attention drawn to the end of the animation.
1095
+
**?attr/motionEasingDecelerated** | `cubic-bezier(0.0, 0.0, 0.2, 1)`<br/>`LinearOutSlowIn` | Easing used for incoming elements; motion begins at peak velocity and ends at rest.
1096
+
**?attr/motionEasingAccelerated** | `cubic-bezier(0.4, 0.0, 1, 1)`<br/>`FastOutLinearIn` | Easing used for outgoing elements; motion begins at rest and ends at peak velocity.
1097
+
**?attr/motionEasingLinear** | `cubic-bezier(0, 0, 1, 1)`<br/>`Linear` | Easing for simple motion such as fading.
1098
+
1099
+
Easing attributes are able to accept two types of curves - cubic beziers and
1100
+
vector paths. Cubic bezier curves are in the standard (x1, y1, x2, y2) format.
1101
+
For vector path curves, the curve must start at 0,0 and end at 1, 1. Vector path
1102
+
curves can be beneficial if you’d like to introduce 3-point (quintic) easing
1103
+
curves to your app in a backwards compatible way.
1104
+
1105
+
To update an easing value override any of the attributes in your app’s theme
**?attr/motionPath** | `linear` | An enum that controls the path along which animating elements move.<br/>`linear`: Elements move along a straight path from their current position to their new position. A linear path corresponds to a `null``PathMotion`.<br/>`arc`: Elements move along a curved/arced path. An arc path corresponds to a `MaterialArcMotion``PathMotion`.
0 commit comments