AndroidのTween动画实现

AndroidのTween动画实现
1.  Tween一共提供了4中动画的效果
Scale:缩放动画
Rotate:旋转动画
Translate:移动动画
Alpha::透明渐变动画
Tween与Frame动画类似都需要在res\anim路径下创建动画的布局文件

2. Rotate旋转动画
<rotate>标签为旋转节点
Tween一共为我们提供了3种动画渲染模式。
android:interpolator="@android:anim/accelerate_interpolator"设置动画渲染器为加速动画(动画播放中越来越快)
android:interpolator="@android:anim/decelerate_interpolator"设置动画渲染器为减速动画(动画播放中越来越慢)
android:interpolator="@android:anim/accelerate_decelerate_interpolator"设置动画渲染器为先加速在减速(开始速度最快逐渐减慢)
如果不写的话默认为匀速运动
下面是一个向右顺时针360度旋转动画xml

<?xml version="1.0" encoding="utf-8"?>  
<rotate xmlns:android="http://schemas.android.com/apk/res/android"  
    android:duration="12000"  
    android:fromDegrees="0"  
    android:pivotX="50%"  
    android:pivotY="50%"  
    android:startOffset="0"  
    android:interpolator="@android:anim/linear_interpolator"  
    android:repeatCount="infinite"  
    android:repeatMode="restart"  
    android:toDegrees="360" /> 

android:fromDegrees=""//设置动画开始的角度
android:toDegrees=""//设置动画结束的角度, 负数表示逆时针,正数表示顺时针, 可以拿 toDegress- fromDegree,负值逆时针,正值顺时针。
android:duration[long]//每一帧动画的持续时间(单位ms),从android:fromDegrees转动到android:toDegrees所花费的时间,单位为毫秒。可以用来计算速度。

android:pivotX //旋转中心的X坐标

浮点数或是百分比。浮点数表示相对于Object的左边缘,如5; 百分比表示相对于Object的左边缘,如5%; 另一种百分比表示相对于父容器的左边缘,如5%p; 一般设置为50%表示在Object中心

android:pivotY //旋转中心的Y坐标

浮点数或是百分比。浮点数表示相对于Object的上边缘,如5; 百分比表示相对于Object的上边缘,如5%; 另一种百分比表示相对于父容器的上边缘,如5%p; 一般设置为50%表示在Object中心

android:interpolator //表示变化率,但不是运行速度。一个插补属性,可以将动画效果设置为加速,减速,反复,反弹等。默认为开始和结束慢中间快,

android:startOffset //在调用start函数之后等待开始运行的时间,单位为毫秒,若为10,表示10ms后开始运行

android:repeatCount //重复的次数,默认为0,必须是int,可以为-1,表示不停止,或者 infinite",设置动画为循环播放,但是它记录次数是从0开始数的,比如这里设置为2 那么动画从0开始数数0 、1、 2 、实际上是播放了3次。

android:repeatMode //重复的模式,默认为restart,即重头开始重新运行,可以为reverse即从结束开始向前重新运行。在android:repeatCount大于0或为infinite时生效

android:detachWallpaper //表示是否在壁纸上运行

android:zAdjustment //表示被animated的内容在运行时在z轴上的位置,默认为normal。

normal保持内容当前的z轴顺序

top运行时在最顶层显示

bottom运行时在最底层显示



你可能感兴趣的:(android,动画,Tween)