android 动画资源Tween动画
tween动画
实现目标对象的变换,如移动、旋转、色彩变换、拉伸等。
xml文件位置:res/amin/xxx.xml
对应类:Animation.
资源引用:in java R.anim.xxx in xml @[package:]anim/xxx
xml定义语法:
interpolator_resource" android:shareinterpolator="["true"|"false"]">float"android:toAlpha="float"/>float"android:toXScale="float"android:fromYScale="float"android:toYScale="float"android:pivotX="float"android:pivotY="float"/>float"android:toXDelta="float"android:fromYDelta="float"android:toYDelta="float"/>float"android:toDegrees="float"android:pivotX="float"android:pivotY="float"/>...
该xml文件中有且只有一个根元素,该元素可以是rotate、alpha、scale、translate、set
:持有其他元素的容器AnimatorSet.
android:interpolator:
指定动画加速状态,可以是先加速后减速、一直加速、一直减速等android:shareInterpolator:
true:同子元素共享同一个加速器
false:不共享
:色彩渐变动画,AlphaAnimation
android:fromAlpha
Float.色彩渐变开始值。取值范围0-1 0透明 1不透明。
android:toAlphaFloat.色彩渐变结束值。取值范围0-1
:物体尺寸缩放变化动画ScaleAnimation.
android:fromXScale
Float. 开始时物体的x方向尺寸, 1表示物体原来的大小.
android:toXScale
Float. 结束时物体的x方向尺寸, 1表示物体原来的大小.
android:fromYScale
Float. 开始时物体的y方向尺寸, 1表示物体原来的大小.
android:toYScale
Float.结束时物体的y方向尺寸, 1表示物体原来的大小.
android:pivotX
Float. 物体缩放时x的中心坐标.
android:pivotY
Float. T物体缩放时y的中心坐标
:物体垂直或者水平移动动画TranslateAnimation.
android:fromXDelta
Float or percentage .开始时x方向偏移量
5:移动对应像素5px
5%:移动目标对象宽度5%
5%p:移动目标对象父对象5%
android:toXDeltaFloat or percentage. 结束时x方向偏移量
android:fromYDeltaFloat or percentage. 开始时y方向偏移量
android:toYDeltaFloat or percentage. 结束时y方向偏移量
:物体旋转动画RotateAnimation.
android:fromDegrees
Float. 开始时角度.(度)
android:toDegrees
Float. 结束时角度.(度)
android:pivotX
Float or percentage ,x坐标上旋转中心。
5:距离目标对象左边5px
5%:距离目标对象左边宽度5%
5%p:距离目标对象父对象左边宽度5%
android:pivotY
Float or percentage ,y坐标上旋转中心。
android:duration="2000"
android:fromAlpha="0"
android:interpolator="@android:anim/accelerate_interpolator"
android:toAlpha="1" />
android:duration="2000"
android:fromXDelta="100%p"
android:interpolator="@android:anim/accelerate_interpolator"
android:toXDelta="0%p" />
Animation out = AnimationUtils.loadAnimation(this, R.anim.out);
layout2.startAnimation(out);
动画选择器:
是一组定义在xml中可以影响动画执行速度的修饰符。可以使你的动画加速、减速、重复、回弹
的执行。android:interpolator指定动画使用动画加速类型,所有动画的类都是Interpolator的子类。
AccelerateDecelerateInterpolator@android:anim/accelerate_decelerate_interpolator
AccelerateInterpolator@android:anim/accelerate_interpolator
AnticipateInterpolator@android:anim/anticipate_interpolator
AnticipateOvershootInterpolator@android:anim/anticipate_overshoot_interpolator
BounceInterpolator@android:anim/bounce_interpolator
CycleInterpolator@android:anim/cycle_interpolator
DecelerateInterpolator@android:anim/decelerate_interpolator
LinearInterpolator@android:anim/linear_interpolator
OvershootInterpolator@android:anim/overshoot_interpolator
自定义动画选择器
当系统定义的动画选择器不满足你的需求是,你可以通过自定义动画选择器来实现自己的动画效果。
文件目录:res/anim/xxx.xml资源引用:in xml @[package:]anim/xxxxml定义语法:
<InterpolatorNamexmlns:android="http://schemas.android.com/apk/res/android"android:attribute_name="value"/>
假设不知道任何属性,系统将会自动匹配上表中的动画选择器。
动画在开始和结束的时候比较慢,中间加速
加速
android:factorFloat. 加速度 默认值1
动画开始时向后,然后向前
android:tensionFloatThe amount of tension to apply (default is 2).
开始向后,然后向前超过指定值,在回弹到指定值
android:tensionFloatThe amount of tension to apply (default is 2).
android:extraTensionFloatThe amount by which to multiply the tension (default is 1.5).
动画结束的时候弹起
动画循环播放特定的次数,速率改变沿着正弦曲线
android:cyclesInteger. The number of cycles (default is 1).
开始速度很快,然后减速,后面很慢
android:extraTensionFloat.The deceleration rate (default is 1).
动画匀速变化
动画开始向前,超越最后值,然后回到最后值
android:tensionFloat. The amount of tension to apply (default is 2).