列出ObjectAnimator动画属性

时间:2016-05-12 17:01:10

标签: android animation objectanimator

我试图找到ObjectAnimator可以设置动画的属性列表以及它如何为它们设置动画。

例如,我想知道translateY属性是如何动画的。值是坐标还是距离?

1 个答案:

答案 0 :(得分:2)

ObjectAnimators实际上会在名称前面以“set”为动画制作动画。因此,对于View,setX(float)setY(float)setZ(float)setTranslationX(float)等等。

同样,如果您创建的自定义视图具有自己的属性,那么只需使用set____(type)语法就可以使用ObjectAnimator,而无需额外的工作。

基本上他们所做的只是在重复的时间间隔调用这些方法,其值由TimeInterpolator设置为Animator确定。

编辑:

有许多属性可以在视图上设置动画,但这里是对更常见的属性的描述。

setX/Y(float) - 这会将视图设置为包含它的父View的精确X或Y坐标。像素坐标从左上角的(0,0)开始角落和右下角的(getWidth(), height())setY(float)会调整视图的getTop()setX(float)会调整视图的getLeft()

setTranslationX/Y(float) - 这会将视图设置为View到起点所在位置的相对位置。例如,如果视图的getLeft()返回50,那么当您调用setTranslationX(25)时,会将视图向右移动25像素到像素75.同样,setTranslationY(25)会将视图向下移动25像素。负值将分别向左和向上移动。

setRotation(float) - 这将围绕ViewsetPivotX(float)定义的给定枢轴点旋转setPivotY(float)。默认情况下,轴心点位于坐标(0,0)处。您可以通过执行以下操作将其设置为中心:

View viewToAnimate = getViewToAnimate();
float width = viewToAnimate.getWidth();
float height = viewToAnimate.getHeight();
viewToAnimate.setPivotX(width/2);
viewToAnimate.setPivotY(height/2);

setScaleX/Y(float) - 这将基于如上所述的Pivot点缩小或增大View。值“1.0f”将使其正常大小。任何小于“1”的东西都会缩小它,任何超过“1”的东西都会使它增长。