一种控制对象大小的动画。您可以指定用于缩放中心的点。

构造方法

ScaleAnimation (fromX,toX,fromY,toY)

Parameters
fromX 水平缩放因子在动画开始时应用
toX 水平缩放因子应用于动画的结尾
fromY 在动画开始时应用的垂直缩放因子
toY 垂直缩放因子应用于动画的结尾

ScaleAnimation (fromX, toX, fromY, toY, pivotX, pivotY)

Parameters
fromX 水平缩放因子在动画开始时应用
toX 水平缩放因子应用于动画的结尾
fromY 在动画开始时应用的垂直缩放因子
toY 垂直缩放因子应用于动画的结尾
pivotX 关于对象被缩放的点的X坐标,指定为一个绝对数字,其中0是左边缘。(当对象改变大小时,这个点保持不变。)
pivotY 关于对象被缩放的点的Y坐标,指定为一个绝对数,其中0是上边缘。(当对象改变大小时,这个点保持不变。)

ScaleAnimation (fromX, toX, fromY, toY, pivotXType, pivotXValue, pivotYType, pivotYValue)

Parameters
fromX 水平缩放因子在动画开始时应用
toX 水平缩放因子应用于动画的结尾
fromY 在动画开始时应用的垂直缩放因子
toY 垂直缩放因子应用于动画的结尾
pivotXType 指定pivotXValue应该如何解释。可选值
Animation.ABSOLUTE,
Animation.RELATIVE_TO_SELF, Animation.RELATIVE_TO_PARENT.
pivotXValue 关于对象被缩放的点的X坐标,指定为一个绝对数字,其中0是左边缘。(当对象改变大小时,这个点保持不变。)如果pivotXType是绝对的,这个值可以是绝对数字,否则可以是百分比(1.0是100%)。
pivotYType 指定pivotYValue应该如何解释。可选值
Animation.ABSOLUTE,
Animation.RELATIVE_TO_SELF, Animation.RELATIVE_TO_PARENT.
pivotYValue 关于对象被缩放的点的Y坐标,指定为一个绝对数,其中0是上边缘。(当对象改变大小时,这个点保持不变。)如果pivotYType是绝对的,那么这个值可以是绝对数字,否则可以是百分比(1.0是100%)。

示例:

  1. require "import"
  2. import "android.os.*"
  3. import "android.app.*"
  4. import "android.view.*"
  5. import "android.widget.*"
  6. import "android.view.animation.*"
  7. local layout = loadlayout({
  8. LinearLayout,
  9. layout_width = "fill",
  10. layout_height = "fill",
  11. gravity = "center",
  12. {
  13. Button,
  14. layout_width = "100dp",
  15. layout_height = "50dp",
  16. text = "开始动画",
  17. id = "button",
  18. },
  19. })
  20. activity.setContentView(layout)
  21. function initAnimate()
  22. -- 定义缩放动画,使用的第一种构造方法
  23. local animate = ScaleAnimation(1, 2, 1, 2)
  24. -- 设置动画时间
  25. animate.setDuration(3000)
  26. -- 点击按钮开始动画
  27. button.onClick = function()
  28. button.startAnimation(animate)
  29. end
  30. end
  31. function main()
  32. initAnimate()
  33. end

效果:

补间动画-缩放动画 - 图1