- 构造方法
- ObjectAnimator.ofFloat ( target, propertyName, values)
- ObjectAnimator.ofInt ( target, propertyName, values)
- ObjectAnimator.ofMultiFloat ( target, propertyName, values)
- ObjectAnimator.ofMultiInt ( target, propertyName, values)
- ObjectAnimator.ofObject ( target, propertyName, evaluator, values)
这个类的构造函数接受参数来定义将被动画化的目标对象以及将被动画化的属性名称。
构造方法
ObjectAnimator.ofFloat ( target, propertyName, values)
Parameters |
|
target |
动画的目标,一般是控件ID |
propertyName |
动画的属性值 |
values |
传入一个小数数组,属性值将根据这个数组的值进行变化 |
ObjectAnimator.ofInt ( target, propertyName, values)
Parameters |
|
target |
动画的目标,一般是控件ID |
propertyName |
动画的属性值 |
values |
传入一个整数数组,属性值将根据这个数组的值进行变化 |
ObjectAnimator.ofMultiFloat ( target, propertyName, values)
Parameters |
|
target |
动画的目标,一般是控件ID |
propertyName |
动画的属性值 |
values |
传入一个二维小数数组,属性值将根据这个数组的值进行变化 |
ObjectAnimator.ofMultiInt ( target, propertyName, values)
Parameters |
|
target |
动画的目标,一般是控件ID |
propertyName |
动画的属性值 |
values |
传入一个二维整数数组,属性值将根据这个数组的值进行变化 |
ObjectAnimator.ofObject ( target, propertyName, evaluator, values)
Parameters |
|
target |
动画的目标,一般是控件ID |
propertyName |
动画的属性值 |
evaluator |
将在每个动画帧上调用的类型求值器,以在对象值之间提供必要的插值以派生动画值。 |
values |
传入一个对象数组,属性值将根据这个数组的值进行变化 |
evaluator的可选值:
ArgbEvaluator |
这个求值器可用于在表示ARGB颜色的整数值之间执行类型插值。 |
FloatArrayEvaluator |
这个求值器可用于在浮点[]值之间执行类型插值。 |
FloatEvaluator |
这个求值器可用于在浮点值之间执行类型插值。 |
IntArrayEvaluator |
这个求值器可用于在int[]值之间执行类型插值。 |
IntEvaluator |
这个求值器可用于在int值之间执行类型插值。 |
PointFEvaluator |
这个求值器可用于在PointF值之间执行类型插值。 |
RectEvaluator |
此求值器可用于在Rect值之间执行类型插值。 |
示例:
require "import"
import "android.os.*"
import "android.app.*"
import "android.view.*"
import "android.widget.*"
import "android.animation.*"
local layout = loadlayout({
LinearLayout,
layout_width = "fill",
layout_height = "fill",
gravity = "center",
{
Button,
layout_width = "100dp",
layout_height = "50dp",
text = "开始动画",
id = "button",
},
})
activity.setContentView(layout)
function initAnimate()
-- 定义对象动画,将按钮的alpha(透明属性)从1到0进行变化
local animate = ObjectAnimator.ofFloat(button,"alpha",{1,0})
-- 设置动画时间
animate.setDuration(3000)
-- 点击按钮开始动画
button.onClick = function()
animate.start()
end
end
function main()
initAnimate()
end
效果:
