平移TranslateAnimation,旋转RotateAnimation ,缩放ScaleAnimation ,虚化AlphaAnimation 这四种动画就是View Animation。注意:视图动画并不会改变作用控件的实际位置,也就是getTop,getLeft的值都不会改变,包括view的大小和点击时间的热区范围等等. 本文介绍他们在java和资源文件中是是怎么定义和使用的,后续还会介绍属性动画和自定义动画等等。
1.在代码中定义视图动画
1).Animation:Animation是属性动画的基类,封装了属性动画的一些公用方法,下面列举了几个
//设置动画执行时间,以毫秒为单位
aa.setDuration(int);
//设置动画执行次数
aa.setRepeatCount(int);
//设置重复执行的样式
// Animation.RESTART:到达终点时立即回到起点重新执行
// Animation.REVERSE:在终点和起点间来回执行动画
aa.setRepeatMode(int);
//true动画结束时保留view的位置,false结束后回到view原有位置
aa.setFillAfter(boolean);
//true动画开始时保留view的位置,false回到view原有位置后再开始动画
aa.setFillBefore(boolean);
//设置Interpolator(插值器,即动画变化的速率)
aa.getInterpolator(Interpolator);
2).Animation子类:上面的提到的四种动画都是Animation的子类,来看下各自的构造函数。
//TranslateAnimation类,平移动画
//以view原始位置的左上标为参照
//fromXDelta:开始X坐标,toXDelta:结束X坐标,fromYDelta:起始Y坐标,toYDelta:结束Y坐标
public TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta)
//ScaleAnimation类,缩放动画
//fromX:X方向起始比例
//toX:X方向结束比例
//fromY:Y方向起始比例
//toY:Y方向起始比例
//pivotX:X缩放原点
//pivotY:Y缩放原点
public ScaleAnimation(float fromX, float toX, float fromY, float toY,float pivotX,