animation

解释:动画实例可以调用以下方法来描述动画,调用结束后会返回自身,支持链式调用的写法。

animation方法列表

普通样式:

方法参数说明
opacityvalue透明度,参数范围 0~1
backgroundColorcolor颜色值
widthlength长度值,如果传入 Number 则默认使用 px,可传入其他自定义单位的长度值。
heightlength长度值,如果传入 Number 则默认使用 px,可传入其他自定义单位的长度值。
toplength长度值,如果传入 Number 则默认使用 px,可传入其他自定义单位的长度值。
leftlength长度值,如果传入 Number 则默认使用 px,可传入其他自定义单位的长度值。
bottomlength长度值,如果传入 Number 则默认使用 px,可传入其他自定义单位的长度值。
rightlength长度值,如果传入 Number 则默认使用 px,可传入其他自定义单位的长度值。

旋转:

方法参数说明
rotatedegdeg的范围-180~180,从原点顺时针旋转一个 deg 角度。
rotateXdegdeg的范围-180~180,在X轴旋转一个 deg 角度。
rotateYdegdeg的范围-180~180,在Y轴旋转一个 deg 角度。
rotateZdegdeg的范围-180~180,在Z轴旋转一个 deg 角度。
rotate3d(x,y,z,deg)同 transform-function rotate3d。

缩放:

方法参数说明
scalesx,[sy]一个参数时,表示在X轴、Y轴同时缩放sx倍数;两个参数时表示在X轴缩放sx倍数,在Y轴缩放sy倍数。
scaleXsx在X轴缩放sx倍数
scaleYsy在Y轴缩放sy倍数
scaleZsz在Z轴缩放sy倍数
scale3d(sx,sy,sz)在X轴缩放sx倍数,在Y轴缩放sy倍数,在Z轴缩放sz倍数。

偏移:

方法参数说明
translatetx,[ty]一个参数时,表示在X轴偏移 tx ,单位 px ;两个参数时,表示在 X 轴偏移 tx ,在 Y 轴偏移 ty ,单位 px 。
translateXtx在 X 轴偏移 tx ,单位 px。
translateYty在 Y 轴偏移 tx ,单位 px。
translateZtz在 Z 轴偏移 tx ,单位 px。
translate3d(tx,ty,tz)在 X 轴偏移 tx ,在 Y 轴偏移 ty ,在 Z 轴偏移 tz,单位 px。

倾斜:

方法参数说明
skewax,[ay]参数范围-180~180;一个参数时, Y 轴坐标不变, X 轴坐标延顺时针倾斜 ax 度;两个参数时,分别在 X 轴倾斜 ax 度,在 Y 轴倾斜 ay 度。
skewXax参数范围-180~180;Y 轴坐标不变, X 轴坐标延顺时针倾斜 ax 度。
skewYay参数范围-180~180;X 轴坐标不变, Y 轴坐标延顺时针倾斜 ay 度。

矩阵变形:

方法参数说明
matrix(a,b,c,d,tx,ty)同transform-function matrix
matrix3dmatrix3d(n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n)3D转换,同transform-function matrix。

动画队列

调用动画操作方法后要调用 step() 来表示一组动画完成,可以在一组动画中调用任意多个动画方法,一组动画中的所有动画会同时开始,一组动画完成后才会进行下一组动画。

示例:

  1. <view bind:tap="starttoanimate" animation="{{animationData}}"></view>

  1. Page({
    data: {
    animationData: {}
    },
    starttoanimate: function () {
    var animation = swan.createAnimation();
    animation.rotate(90).translateY(10).step();
    animation.rotate(-90).translateY(-10).step();
    this.setData({
    animationData: animation.export()
    });
    }
    });

导航位置