Class

Animation

动画类,可以配合所有的UI类使用,包括容器和非容器。有两种方式可以对view添加动画:

  1. 通过animation对象的with(View)方法,设置当前animationtarget
  2. 通过viewstartAnimation(Animation[])方法,添加animation对象

方法

ID API 参数 返回值 平台 备注
1 with v: View - - 设置动画target
2 start - - - 开始动画
3 alpha v0: Number
v1: Number
- - 设置alpha动画
4 rotation v0: Number
v1: Number
- - 设置旋转动画
5 scale x: Number
y: Number
- - 设置缩放动画(x轴缩放比、y轴缩放比)
6 scaleX x: Number
- - 设置x轴缩放动画
7 scaleY y: Number
- - 设置y轴缩放动画
8 translation x: Number
y: Number
- - 设置x轴、y轴位移动画
9 translationX x: Number - - 设置x轴位移动画
10 translationY y: Number - - 设置y轴位移动画
11 duration time: Number - - 设置动画时长
12 delay time: Number - - 设置动画启动延时
13 repeatCount count: Number - - 设置动画重复测试(<0表示一直重复)
14 interpolator v: Interplator - - 插值器
15 cancel - - - 取消动画
16 pause - - - 暂停动画
17 isPaused - v: Boolean - 动画是否暂停
18 isRunning - v: Boolean - 动画是否运行
19 resume - - - 恢复动画
20 reverses v: Boolean - - 动画重复播放时是否反转
21 values v: Number[] - - 设置动画用到的参数
22 callback v: LuaTable - - 设置动画的回调
23 onStart v: LuaFunction - - 动画开始回调
24 onEnd v: LuaFunction - - 动画结束回调
25 onRepeat v: LuaFunction - - 动画重复回调
26 onCancel v: LuaFunction - - 动画取消回调
27 onPause v: LuaFunction - - 动画暂停回调
28 onUpdate v: LuaFunction - Android 动画状态更新回调
29 onResume v: LuaFunction - - 动画恢复回调

示例

-- alpha动画
animation = Animation():scale(2, 0.5):duration(2):delay(1)

-- 位移动画

-- 方法一
view = View()
Animation():with(view):translation(100, -100):duration(3):interpolator(Interpolator.ACCELERATE_DECELERATE):callback({
    onStart = function()
        print("Running")
    end,
    onCancel = function()
        print("Canceled")
    end,
    onEnd = function()
        print("End")
    end,
    onPause = function()
        print("Paused")
    end,
    onResume = function()
        print("Running")
    end,
})

-- 方法二
view2 = View()
anim1 = Animation():alpha(1, 0):duration(1)
anim2 = Animation():scale(1, 0):duration(2):delay(0.2)
view2:startAnimation(anim1, anim2)

results matching ""

    No results matching ""