Android动画之Tween动画
1.介绍
Tween Animation补间动画:给出两个关键帧,通过一些算法将给定属性值在给定的时间内在两个关键帧间渐变。Android中Tween动画分为四类:渐变动画,位移动画,旋转动画和缩放动画。动画的定义既可以在xml文件中定义也可以在代码中定义。
2.在xml中定义动画
1.渐变动画
在/res/anim目录下创建xml文件
<alpha xmlns:android="http://schemas.android.com/apk/res/android" android:duration="1000" android:fromAlpha="1" android:repeatCount="infinite" android:repeatMode="reverse" android:toAlpha="0" />
属性:
android:fromAlpha:起点不透明度。其中0.0表示透明,1.0表示不透明。
android:toAlpha:终点不透明度。
android:repeateCount:重复次数,当为数值则重复次数为所对应的数值,infinite为无限次重复。
android:repeateMode:重复模式,restart 透明-->不透明 reverse 透明-->不透明-->透明
2.缩放动画
在/res/anim目录下创建xml文件
<?xml version="1.0" encoding="utf-8"?> <scale xmlns:android="http://schemas.android.com/apk/res/android" android:duration="1000" android:fromXScale="1" android:fromYScale="1" android:pivotX="0" android:pivotY="0" android:toXScale="0" android:toYScale="0" />
属性:
android:povotX:缩放中心点的x坐标,android:pivotY:缩放中心点的Y坐标。
3.位移动画
在/res/anim目录下创建xml文件
<?xml version="1.0" encoding="utf-8"?> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="1000" android:fromXDelta="0" android:fromYDelta="0" android:toXDelta="100%p" android:toYDelta="100%p" />
4.旋转动画
在/res/anim目录下创建xml文件
<?xml version="1.0" encoding="utf-8"?> <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="1000" android:fromDegrees="0" android:pivotX="50%" android:pivotY="50%" android:repeatMode="restart" android:toDegrees="720" />
5.<set>标签表示多个动画的集合,使用多个动画以set为根标签
/res/anim目录下创建xml文件
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <alpha android:duration="1000" android:fromAlpha="1" android:toAlpha="0" /> <translate android:duration="1000" android:fromXDelta="0" android:fromYDelta="0" android:toXDelta="100%p" android:toYDelta="100%p" /> <scale android:duration="1000" android:fromXScale="1" android:fromYScale="1" android:pivotX="0" android:pivotY="0" android:toXScale="0" android:toYScale="0" /> <rotate android:duration="1000" android:fromDegrees="0" android:pivotX="50%" android:pivotY="50%" android:repeatMode="restart" android:toDegrees="720" /> </set>
示例:https://files.cnblogs.com/malinkang/TweenAnimationDemo.zip
参考
http://www.cnblogs.com/angeldevil/archive/2011/12/02/2271096.html
http://developer.android.com/intl/zh-CN/guide/topics/resources/animation-resource.html#Tween