1、 补间动画说明
定义好动画的起始帧和结束帧以及播放时长,动画过程中的帧由计算机计算得出。补间动画又可以分为四种形式,分别是 alpha(透明度变化),translate(位移),scale(缩放大小),rotate(旋转)。
2、实现方式
2.1 创建目录res/anim,在res/anim目录下创建文件anim.xml
2.2 alpha动画(透明度)
2.2.1 xml配置文件
fromAlpha 动画开始透明度
toAlpha 动画结束透明度
透明度1.0为完全不透明,0.0为完全透明
android:fromAlpha="1.0"
android:toAlpha="0.0">
alpha>
2.2.2 代码调用
Animation animation = AnimationUtils.loadAnimation(AnimationActivity.this,R.anim.alpha_anim);
animation.setDuration(4000);
anim_iv.startAnimation(animation);
2.2.3 效果
2.3 translate动画(位移)
2.3.1 xml配置文件
fromXDelta位移起始X轴坐标
toXDelta位移结束X轴坐标
fromYDelta位移起始Y轴坐标
toYDelta位移结束Y轴坐标
android:fromXDelta="0"
android:toXDelta="700"
android:fromYDelta="0"
android:toYDelta="0" >
translate>
2.3.2 效果
2.4 scale动画(缩放)
2.4.1 xml配置文件
fromXScale X轴起始缩放比例
fromYScale Y轴起始缩放比例
toXScale X轴结束缩放比例
toYScale Y轴结束缩放比例
pivotX 缩放中心X轴坐标
pivotY 缩放中心Y轴坐标
android:fromXScale="0.0"
android:fromYScale="0.0"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="1.0"
android:toYScale="1.0">
scale>
2.4.2 效果
2.5 rotate动画(旋转)
2.5.1 xml配置文件
fromDegrees旋转起始角度
fromDegrees旋转结束角度
pivotX旋转中心X轴坐标
pivotY旋转中心Y轴坐标
android:fromDegrees="0"
android:toDegrees="360"
android:pivotX="70"
android:pivotY="70" >
rotate>
2.5.2 效果
2.6 pivot属性说明
pivot属性在rotate动画和scale动画中出现,这2个动画发生时View都是以固定的点位进行动画,对这一固定点位的描述需要使用pivot属性。
pivotX的取值
含义
10
距离动画所在view自身左边缘10像素
10%
距离动画所在view自身左边整个View宽度的10%
10%p
距离动画所在view父控件左边整个View宽度的10%
2.7 使用set 标签将多个动画组合
2.7.1 xml配置同时实现透明变化——位移——缩放——旋转
android:toAlpha="1.0"
android:duration="2000">
alpha>
android:toXDelta="400"
android:fromYDelta="0"
android:toYDelta="500"
android:duration="4000">
translate>
android:toDegrees="360"
android:pivotX="0%"
android:pivotY="0%"
android:duration="2000">
rotate>
android:fromYScale="0.0"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="1.0"
android:toYScale="1.0"
android:duration="2000">
scale>
set>
2.7.2 效果