缓动方式与动效时长共同塑造既有响应感又富有表现力的界面动效。
注意:在 Expressive 更新中,组件和界面动效都改为使用运动物理系统(motion physics system),该系统基于“弹簧”(spring)模型。各产品应逐步迁移到这一套新的动效系统上。原有的缓动与时长(easing and duration)体系目前仍用于部分过渡动效(transitions),尚未升级到 GM3 Expressive 的团队也可以继续使用,但这一体系已不再维护和更新。
为动效选择合适的缓动方式和时长组合并不容易,作为一个简单的起点,下面这些推荐值可以作为大多数过渡动效的默认配置。
| 缓动(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) |
在现实物理世界中,物体不会瞬间开始运动或瞬间停止,相反,它们需要一个过程来逐渐加速和减速。没有缓动的过渡动画会显得生硬、机械、缺乏生命力,而加入缓动的过渡动效则更贴近真实世界,看起来更加自然流畅。
相比偏“工具化、功能至上”风格的 M2,M3 的缓动更注重表现力与情绪表达。过渡动效的起步非常干脆利落,但收尾则非常柔和舒缓。与 M2 相比,M3 的动效时长会略微更长一些,这样可以让动画有足够时间自然停下,收尾不会显得突兀或“戛然而止”。
为了体现 M3 的整体动效风格,推荐在大多数过渡动效中使用 Emphasized 强化缓动组合。Standard 标准缓动组合 适合用于一些体量较小、偏工具功能型、需要快速完成的过渡动效。对于暂不支持 Emphasized 强化缓动的运行平台(例如 iOS 和 Web),Standard 标准缓动组合也可以作为一套兜底/回退方案使用。
缓动类型的选择,取决于过渡动画在“相对于屏幕”如何进出、如何运动。
这类过渡动效通常使用 Emphasized 强化缓动。它会在一开始快速加速,然后缓慢、柔和地收尾,从而强调过渡结束时的状态与停留效果。
这类过渡动效使用 Emphasized decelerate 强化减速缓动。动画一开始就以较高速度运动,随后逐渐减速,最终以柔和的方式停下。
这类过渡动效使用 Emphasized accelerate 强化加速缓动。动画从静止状态开始,逐渐加速,并在结束时达到最高速度。由于在最高速度时结束,给人的感觉是:这个离场的组件已经“彻底离开”,不再容易被找回。
这类过渡动效使用 Emphasized 强化缓动。动画在屏幕外不远处自然停下,让人感觉这个离场的组件随时还能被重新唤回。
过渡动效不应该快到让人“闪一下就看不清”,也不能慢到让用户感觉自己在干等动画。合适的动效时长配合恰当的缓动方式,才能让过渡既顺滑流畅,又保持良好的响应感。
动效时长的选择主要基于以下几个考量维度:
只影响屏幕小范围区域的过渡,动效时长应该较短。需要跨越屏幕大范围区域的过渡,则可以使用更长的动效时长。根据过渡区域的大小去调整动效时长,可以让整体动效的“速度感”保持前后一致。
用于退出、关闭或收起元素的过渡动效,通常会采用更短的动效时长。退场动效之所以更快,是因为它们本身不需要用户投入太多注意力——用户真正要关注的,是接下来要做的下一步操作。相对地,入场动效或会在屏幕上持续存在的元素,往往会使用更长一些的动效时长。这样可以帮助用户将注意力集中到屏幕上“新出现的内容”上。
动效中的缓动与时长可以通过 缓动令牌(easing tokens) 和 时长令牌(duration tokens) 来实现。了解更多关于 设计令牌(design tokens) 的信息
这种缓动组合最常用,因为它很好地体现了 M3 的整体动效风格与表现力。
这种缓动组合适用于体量较小、结构简单、偏工具属性的过渡动效。
这类短时长通常用在体量较小、偏工具属性的过渡动效上。
这类时长通常用于作用范围为中等区域的过渡动效。
虽然较为少见,但有些过渡动效的时长会超过 600ms。这类时长通常用于不涉及用户输入的环境类过渡动效。
有0人收藏了本文