Animation
动画对象
支持情况:

方法
export
导出动画队列。export 方法每次调用后会清掉之前的动画操作。
支持情况:

() => { actions: TaroGeneral.IAnyObject[]; }
step
表示一组动画完成。可以在一组动画中调用任意多个动画方法,一组动画中的所有动画会同时开始,一组动画完成后才会进行下一组动画。
支持情况:

(option?: StepOption) => Animation
| 参数 | 类型 |
|---|---|
| option | StepOption |
matrix
支持情况:

(a: number, b: number, c: number, d: number, tx: number, ty: number) => Animation
| 参数 | 类型 |
|---|---|
| a | number |
| b | number |
| c | number |
| d | number |
| tx | number |
| ty | number |
matrix3d
支持情况:

(a1: number, b1: number, c1: number, d1: number, a2: number, b2: number, c2: number, d2: number, a3: number, b3: number, c3: number, d3: number, a4: number, b4: number, c4: number, d4: number) => Animation
| 参数 | 类型 |
|---|---|
| a1 | number |
| b1 | number |
| c1 | number |
| d1 | number |
| a2 | number |
| b2 | number |
| c2 | number |
| d2 | number |
| a3 | number |
| b3 | number |
| c3 | number |
| d3 | number |
| a4 | number |
| b4 | number |
| c4 | number |
| d4 | number |
rotate
从原点顺时针旋转一个角度
支持情况:

(angle: number) => Animation
| 参数 | 类型 | 说明 |
|---|---|---|
| angle | number | 旋转的角度。范围 [-180, 180] |
rotate3d
从 固定 轴顺时针旋转一个角度
支持情况:

(x: number, y?: number, z?: number, angle?: number) => Animation
| 参数 | 类型 | 说明 |
|---|---|---|
| x | number | 旋转轴的 x 坐标 |
| y | number | 旋转轴的 y 坐标 |
| z | number | 旋转轴的 z 坐标 |
| angle | number | 旋转的角度。范围 [-180, 180] |
rotateX
从 X 轴顺时针旋转一个角度
支持情况:

(angle: number) => Animation
| 参数 | 类型 | 说明 |
|---|---|---|
| angle | number | 旋转的角度。范围 [-180, 180] |
rotateY
从 Y 轴顺时针旋转一个角度
支持情况:

(angle: number) => Animation
| 参数 | 类型 | 说明 |
|---|---|---|
| angle | number | 旋转的角度。范围 [-180, 180] |
rotateZ
从 Z 轴顺时针旋转一个角度
支持情况:

(angle: number) => Animation
| 参数 | 类型 | 说明 |
|---|---|---|
| angle | number | 旋转的角度。范围 [-180, 180] |
scale
缩放
支持情况:

(sx: number, sy?: number) => Animation
| 参数 | 类型 | 说明 |
|---|---|---|
| sx | number | 当仅有 sx 参数时,表示在 X 轴、Y 轴同时缩放sx倍数 |
| sy | number | 在 Y 轴缩放 sy 倍数 |
scale3d
缩放
支持情况:

(sx: number, sy: number, sz: number) => Animation
| 参数 | 类型 | 说明 |
|---|---|---|
| sx | number | x 轴的缩放倍数 |
| sy | number | y 轴的缩放倍数 |
| sz | number | z 轴的缩放倍数 |
scaleX
缩放 X 轴
支持情况:

(scale: number) => Animation
| 参数 | 类型 | 说明 |
|---|---|---|
| scale | number | X 轴的缩放倍数 |
scaleY
缩放 Y 轴
支持情况:

(scale: number) => Animation
| 参数 | 类型 | 说明 |
|---|---|---|
| scale | number | Y 轴的缩放倍数 |
scaleZ
缩放 Z 轴
支持情况:

(scale: number) => Animation
| 参数 | 类型 | 说明 |
|---|---|---|
| scale | number | Z 轴的缩放倍数 |
skew
对 X、Y 轴坐标进行倾斜
支持情况:

(ax: number, ay: number) => Animation
| 参数 | 类型 | 说明 |
|---|---|---|
| ax | number | 对 X 轴坐标倾斜的角度,范围 [-180, 180] |
| ay | number | 对 Y 轴坐标倾斜的角度,范围 [-180, 180] |
skewX
对 X 轴坐标进行倾斜
支持情况:

(angle: number) => Animation
| 参数 | 类型 | 说明 |
|---|---|---|
| angle | number | 倾斜的角度,范围 [-180, 180] |
skewY
对 Y 轴坐标进行倾斜
支持情况:

(angle: number) => Animation
| 参数 | 类型 | 说明 |
|---|---|---|
| angle | number | 倾斜的角度,范围 [-180, 180] |
translate
平移变换
支持情况:

(tx?: number, ty?: number) => Animation
| 参数 | 类型 | 说明 |
|---|---|---|
| tx | number | 当仅有该参数时表示在 X 轴偏移 tx,单位 px |
| ty | number | 在 Y 轴平移的距离,单位为 px |
translate3d
对 xyz 坐标进行平移变换
支持情况:

(tx?: number, ty?: number, tz?: number) => Animation
| 参数 | 类型 | 说明 |
|---|---|---|
| tx | number | 在 X 轴平移的距离,单位为 px |
| ty | number | 在 Y 轴平移的距离,单位为 px |
| tz | number | 在 Z 轴平移的距离,单位为 px |
translateX
对 X 轴平移
支持情况:

(translation: number) => Animation
| 参数 | 类型 | 说明 |
|---|---|---|
| translation | number | 在 X 轴平移的距离,单位为 px |
translateY
对 Y 轴平移
支持情况:

(translation: number) => Animation
| 参数 | 类型 | 说明 |
|---|---|---|
| translation | number | 在 Y 轴平移的距离,单位为 px |
translateZ
对 Z 轴平移
支持情况:

(translation: number) => Animation
| 参数 | 类型 | 说明 |
|---|---|---|
| translation | number | 在 Z 轴平移的距离,单位为 px |
opacity
设置透明度
支持情况:

(value: number) => Animation
| 参数 | 类型 | 说明 |
|---|---|---|
| value | number | 透明度,范围 0-1 |
backgroundColor
设置背景色
支持情况:

(value: string) => Animation
| 参数 | 类型 | 说明 |
|---|---|---|
| value | string | 颜色值 |
width
设置宽度
支持情况:

(value: string | number) => Animation
| 参数 | 类型 | 说明 |
|---|---|---|
| value | string or number | 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 |
height
设置高度
支持情况:

(value: string | number) => Animation
| 参数 | 类型 | 说明 |
|---|---|---|
| value | string or number | 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 |
left
设置 left 值
支持情况:

(value: string | number) => Animation
| 参数 | 类型 | 说明 |
|---|---|---|
| value | string or number | 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 |
right
设置 right 值
支持情况:

(value: string | number) => Animation
| 参数 | 类型 | 说明 |
|---|---|---|
| value | string or number | 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 |
top
设置 top 值
支持情况:

(value: string | number) => Animation
| 参数 | 类型 | 说明 |
|---|---|---|
| value | string or number | 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 |
bottom
设置 bottom 值
支持情况:

(value: string | number) => Animation
| 参数 | 类型 | 说明 |
|---|---|---|
| value | string or number | 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 |
参数
StepOption
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| delay | number | 否 | 动画延迟时间,单位 ms |
| duration | number | 否 | 动画持续时间,单位 ms |
| timingFunction | keyof TimingFunction | 否 | 动画的效果 |
| transformOrigin | string | 否 |
TimingFunction
| 参数 | 说明 |
|---|---|
| linear | 动画从头到尾的速度是相同的 |
| ease | 动画以低速开始,然后加快,在结束前变慢 |
| ease-in | 动画以低速开始 |
| ease-in-out | 动画以低速开始和结束 |
| ease-out | 动画以低速结束 |
| step-start | 动画第一帧就跳至结束状态直到结束 |
| step-end | 动画一直保持开始状态,最后一帧跳到结束状态 |
API 支持度
| API | 微信小程序 | H5 | React Native |
|---|---|---|---|
| Animation | ✔️ | ✔️ | |
| Animation.export | ✔️ | ✔️ | |
| Animation.step | ✔️ | ✔️ | |
| Animation.matrix | ✔️ | ✔️ | |
| Animation.matrix3d | ✔️ | ✔️ | |
| Animation.rotate | ✔️ | ✔️ | |
| Animation.rotate3d | ✔️ | ✔️ | |
| Animation.rotateX | ✔️ | ✔️ | |
| Animation.rotateY | ✔️ | ✔️ | |
| Animation.rotateZ | ✔️ | ✔️ | |
| Animation.scale | ✔️ | ✔️ | |
| Animation.scale3d | ✔️ | ✔️ | |
| Animation.scaleX | ✔️ | ✔️ | |
| Animation.scaleY | ✔️ | ✔️ | |
| Animation.scaleZ | ✔️ | ✔️ | |
| Animation.skew | ✔️ | ✔️ | |
| Animation.skewX | ✔️ | ✔️ | |
| Animation.skewY | ✔️ | ✔️ | |
| Animation.translate | ✔️ | ✔️ | |
| Animation.translate3d | ✔️ | ✔️ | |
| Animation.translateX | ✔️ | ✔️ | |
| Animation.translateY | ✔️ | ✔️ | |
| Animation.translateZ | ✔️ | ✔️ | |
| Animation.opacity | ✔️ | ✔️ | |
| Animation.backgroundColor | ✔️ | ✔️ | |
| Animation.width | ✔️ | ✔️ | |
| Animation.height | ✔️ | ✔️ | |
| Animation.left | ✔️ | ✔️ | |
| Animation.right | ✔️ | ✔️ | |
| Animation.top | ✔️ | ✔️ | |
| Animation.bottom | ✔️ | ✔️ |