android属性动画浅析——ValueAnimator、ObjectAnimator、Interprolators

本文详细介绍了Android属性动画中的ValueAnimator、ObjectAnimator和Interpolator的使用,包括创建实例、设置监听器、自定义Interpolator、动画属性等,并通过实例展示了如何为View添加动画。
摘要由CSDN通过智能技术生成

属性动画

一.   ValueAnimator

          这个Animation是针对值的!ValueAnimator不会对控件做任何操作,我们可以给它设定从哪个值运动到哪个值,通过监听这些值的渐变过程来自己操作控件

1.  创建实例

调用ValueAnimation类中的ofInt(int...values)、ofFloat(String propertyName,float...values)等静态方法实例化ValueAnimator对象,并设置目标属性的属性名、初始值或结束值等值;

2.  设置数值变化监听器

调用addUpdateListener(AnimatorUpdateListener mListener)方法为ValueAnimator对象设置属性变化的监听器;

3.  创建自定义的Interpolator(可选)

调用setInterpolator(TimeInterpolator value)为ValueAniamtor设置自定义的Interpolator;(可选,不设置默认为缺省值)

4.  创建自定义的TypeEvaluator(可选)

调用setEvaluator(TypeEvaluator value)为ValueAnimator设置自定义的TypeEvaluator数值发生器;(可选,不设置默认为缺省值)。

初始化时指定:ValueAnimator valueanim1 = ValueAnimator.ofObject(newTypeEvaluator<PointF>() {…}并覆写evaluate方法。

5.  添加属性值变化监听器

在AnimatorUpdateListener 中的实现方法为目标对象的属性设置计算好的属性值。

6.  设置动画的持续时间

7.  是否重复及重复次数等属性

8.  为ValueAnimator设置目标对象并开始执行动画。

二.   ObjectAnimator

          该类作为ValueAnimator的子类不仅继承了ValueAnimator的所有方法和特性,并且还封装很多实用的方法,方便开发人员快速实现动画。同时,由于属性值会自动更新,使用ObjectAnimator实现动画不需要像ValueAnimator那样必须实现 ValueAnimator.AnimatorUpdateListener ,因此实现任意对象的动画显示就更加容易了。我们在大部分的开发工作中,都会使用ObjectAnimator而非ValueAnimator实现我们所需的动画效果。

    View Animation实现View对象动画的特点,即View Animation本身是通过改变View的绘制方式来实现动画的,View对象本身的属性值并没有改变对象仍然停留在原始位置。那Android为了消除这一弊病,在Android 3.0 中给 View 增加了一些新的属性以及相应的 getter、setter 方法。Property Animation系统可以通过修改 View 对象实际的属性值来实现屏幕上的动画效果。此外,当属性值发生变化时,Views 也会自动调用 invalidate() 方法来刷新屏幕。

常用动画的属性:

1.    translationX 和translationY

这两个属性控制着 View 的屏幕位置坐标变化量,以layout 容器的左上角为坐标原点;

2.    rotation、rotationX 和 rotationY

这三个属性控制着2D旋转角度(rotation属性)和围绕某枢轴点的 3D 旋转角度;

3.    scaleX、scaleY

这两个属性控制着View 围绕某枢轴点的 2D 缩放比例;

4.    pivotX 和 pivotY

这两个属性控制着枢轴点的位置,前述的旋转和缩放都是以此点为中心展开的,缺省的枢轴点是 View 对象的中心点;

5.    x 和 y

这是指 View 在容器内的最终位置,等于View左上角相对于容器的坐标加上 translationX 和 translationY 后的值;

6.    alpha

表示 View 的 alpha 透明度。缺省值为 1 (不透明),为 0 则表示完全透明(看不见);

三.   AnimatorUpdateListener

          addUpdateListener(AnimatorUpdateListenermListener)方法为ValueAnimator对象设置属性变化的监听器,可以在计算他们值的时候修改他们。  

          你可以在ValueAnimator中通过定

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值