缓动方式与动效时长共同塑造既有响应感又富有表现力的界面动效。
注意:在 Expressive 更新中,组件和界面动效都改为使用运动物理系统(motion physics system),该系统基于“弹簧”(spring)模型。各产品应逐步迁移到这一套新的动效系统上。原有的缓动与时长(easing and duration)体系目前仍用于部分过渡动效(transitions),尚未升级到 GM3 Expressive 的团队也可以继续使用,但这一体系已不再维护和更新。
一、缓动与动效时长的应用
1. 推荐的缓动与动效时长组合
为动效选择合适的缓动方式和时长组合并不容易,作为一个简单的起点,下面这些推荐值可以作为大多数过渡动效的默认配置。
| 缓动(Easing) | 时长(Duration) | 过渡类型(Transition type) |
|---|---|---|
| 强化缓动(Emphasized) | 500ms | 在屏幕内开始并结束(Begin and end on screen) |
| 强化减速缓动(Emphasized decelerate) | 400ms | 入场:从屏幕外进入屏幕(Enter the screen) |
| 强化加速缓动(Emphasized accelerate) | 200ms | 退场:从屏幕内移出到屏幕外(Exit the screen) |
| 标准缓动(Standard) | 300ms | 在屏幕内开始并结束(Begin and end on screen) |
| 标准减速缓动(Standard decelerate) | 250ms | 入场:从屏幕外进入屏幕(Enter the screen) |
| 标准加速缓动(Standard accelerate) | 200ms | 退场:从屏幕内移出到屏幕外(Exit the screen) |
2. 缓动
在现实物理世界中,物体不会瞬间开始运动或瞬间停止,相反,它们需要一个过程来逐渐加速和减速。没有缓动的过渡动画会显得生硬、机械、缺乏生命力,而加入缓动的过渡动效则更贴近真实世界,看起来更加自然流畅。
① 带缓动的过渡动效,② 无缓动的过渡动效
相比偏“工具化、功能至上”风格的 M2,M3 的缓动更注重表现力与情绪表达。过渡动效的起步非常干脆利落,但收尾则非常柔和舒缓。与 M2 相比,M3 的动效时长会略微更长一些,这样可以让动画有足够时间自然停下,收尾不会显得突兀或“戛然而止”。
①M2 的缓动与动效时长 ②M3 的缓动与动效时长
2.1 选择合适的缓动组合
为了体现 M3 的整体动效风格,推荐在大多数过渡动效中使用 Emphasized 强化缓动组合。Standard 标准缓动组合 适合用于一些体量较小、偏工具功能型、需要快速完成的过渡动效。对于暂不支持 Emphasized 强化缓动的运行平台(例如 iOS 和 Web),Standard 标准缓动组合也可以作为一套兜底/回退方案使用。
此处的全屏过渡动效使用了强化缓动(Emphasized easing)
在 Web 端,这个文本输入框的过渡动效使用了标准缓动(Standard easing),其简洁的表现形式很符合该组件偏工具属性的定位
2.2 选择合适的缓动类型
缓动类型的选择,取决于过渡动画在“相对于屏幕”如何进出、如何运动。
2.2.1 在屏幕内开始并在屏幕内结束
这类过渡动效通常使用 Emphasized 强化缓动。它会在一开始快速加速,然后缓慢、柔和地收尾,从而强调过渡结束时的状态与停留效果。
这个过渡动效在屏幕内开始、也在屏幕内结束,因此采用了 Emphasized 强化缓动
2.2.2 进入屏幕
这类过渡动效使用 Emphasized decelerate 强化减速缓动。动画一开始就以较高速度运动,随后逐渐减速,最终以柔和的方式停下。
2.2.3 永久性退出屏幕
这类过渡动效使用 Emphasized accelerate 强化加速缓动。动画从静止状态开始,逐渐加速,并在结束时达到最高速度。由于在最高速度时结束,给人的感觉是:这个离场的组件已经“彻底离开”,不再容易被找回。








