Android属性动画(Property Animation)

来源:互联网 发布:正定矩阵的性质 编辑:程序博客网 时间:2024/05/22 10:58

动画

1.补间动画(Tween Animation)
2.帧动画(Frame Animation)
3.属性动画(Property Animation)

补间动画(Tween Animation)

a. 渐变动画支持四种类型:平移(Translate)、旋转(Rotate)、缩放(Scale)、不透明度(Alpha)。
b. 只是显示的位置变动,View的实际位置未改变,表现为View移动到其他地方,点击事件仍在原处才能响应。
c. 组合使用步骤较复杂。
d. View Animation 也是指此动画。

<?xml version="1.0" encoding="utf-8"?><translate    xmlns:android="http://schemas.android.com/apk/res/android"    android:fromXDelta="0"    android:fromYDelta="0"    android:toXDelta="50%p"    android:toYDelta="50%p"    android:fillAfter="true"    android:duration="500"></translate>

android:fillAfter=”true” 执行完动画后,是否停留在最后状态。

帧动画(Frame Animation)

a. 用于生成连续的Gif效果图。
b. DrawableAnimation也是指此动画。

属性动画(Property Animation)

属性动画是从3.0及以后出现的(如果要兼容低版本,可以使用一个民间版第三方的一个jar NineOldAndroid.jar,用法跟系统的用法差不多)。

不断地控制控件的属性变化达到动画的效果,一般我们是一些组合的属性动画达到复杂的效果。

以前都是:补间动画BetweenAnimation、帧动画FrameAnimation

比较之前的View动画,属性动画更加丰富、好用;
属性动画是真实地改变控件的属性,view动画是个假象,平移以后的原来位置还是可以点击的。

常用API

ObjectAnimator :对象动画执行类。
PropertyValuesHolder : 属性存储器,为两个执行类提供更新多个属性的功能。
AnimatorListener :动画执行监听,在动画开始、重复、结束、取消时进行回调。
Keyframe :为PropertyValuesHolder提供多个关键帧的操作值。
AnimatorSet :一组动画的执行集合类:设置执行的先后顺序,时间等。
TimeInterpolator :时间插值,用于控制动画执行过程。
ValueAnimator :值动画执行类,常配合AnimatorUpdateListener使用。
AnimatorUpdateListener :动画更新监听。
TypeEvaluator :类型估值,用于设置复杂的动画操作属性的值。

加速器

加速减速插值器

加速插值器

回荡秋千插值器

这里写图片描述

弹跳插值器

这里写图片描述

这里写图片描述

这里写图片描述

重要的点

1)translationX 和 translationY:这两个属性控制了View所处的位置,它们的值是由layout容器设置的,是相对于坐标原点(0,0左上角)的一个偏移量。
2)rotation, rotationX 和 rotationY:控制View绕着轴点(pivotX和pivotY)旋转。
3)scaleX 和 scaleY:控制View基于pivotX和pivotY的缩放。
4)pivotX 和 pivotY:旋转的轴点和缩放的基准点,默认是View的中心点。
5)x 和 y:描述了view在其父容器中的最终位置,是左上角左标和偏移量(translationX,translationY)的和。
6)aplha:透明度,1是完全不透明,0是完全透明。

原创粉丝点击