接口介绍:
public static interface Animation.AnimationListener
动画监听,例如动画的开始,结束,重复;
方法详细信息 |
---|
onAnimationStart
void onAnimationStart(Animation animation)
onAnimationEnd
void onAnimationEnd(Animation animation)
onAnimationRepeat
void onAnimationRepeat(Animation animation)android.view.animation 接口 Interpolator
一个动画插入器定义的变化率l类。这允许基本的动画效果(alpha,规模、翻译、旋转),加速,减速,重复等。
方法详细信息 |
---|
getInterpolation
float getInterpolation(float input)
得到应用在动画转换上的匹配映射时间轴上点的乘数;
参数input :该值介于0-1之间,指示动画中当前的位置点,0代表一开始和1.0代表结束;
返回:插补值。这个值可以超过1.0即插入器超出他们的目标,或者小于0即插入器低于目标。
主要应用在动画的自定义变化速率上;
类详细介绍:
类 AccelerateDecelerateInterpolator
在动画开始和结束时速率较慢,在中间位置时加速;中间过了就减速;
类 AccelerateInterpolator
动画速率逐步增快;
类 CycleInterpolator
重复执行指定周期数量的动画,变化速率遵循正弦模式;
类 DecelerateInterpolator
减速动画
类 LinearInterpolator 动画的变化速率是不变的;
以上类均实现了Interpolator接口
类 AlphaAnimation视图透明度的动画
构造方法详细信息 |
---|
AlphaAnimation
public AlphaAnimation(Context context, AttributeSet attrs) 从资源中加载动画;
public AlphaAnimation(float fromAlpha, float toAlpha)指定动画变化的起始点;
方法详细信息 |
---|
willChangeTransformationMatrix
public boolean willChangeTransformationMatrix()
表明该动画是否会影响到变换矩阵。例如,褪色动画不会影响矩阵而缩放动画会影响矩阵。
willChangeBounds
public boolean willChangeBounds()
表明该动画是否会影响动画视图的范围。例如,褪色动画不会影响范围而缩放动画将影响200%。
类 RotateAnimation 旋转动画;
类 ScaleAnimation 缩放动画
类 TranslateAnimation 平移动画
类 AnimationSet 动画集合,组动画,如果和内部的子动画有相同的配置,则将覆盖子类动画的设置;
setFillAfter
public void setFillAfter(boolean fillAfter)如果参数为真,表示动画在执行完后仍然会有持续效果;默认是false;setFillBefore
public void setFillBefore(boolean fillBefore)如果为真,动画在开始执行之前就开始转换,默认为true;setRepeatMode
public void setRepeatMode(int repeatMode)设置动画的重复模式;有 无限循环,翻转,重新执行;setStartOffset
public void setStartOffset(long startOffset)动画执行时间相对于开始动画的偏移,对于复合动画使用;setDuration
public void setDuration(long durationMillis)动画持续时间;addAnimation
public void addAnimation(Animation a)添加动画到该动画集合,按添加顺序执行;setStartTime
public void setStartTime(long startTimeMillis)设置动画的开始时间;getStartTime
public long getStartTime()动画的开始时间,如果动画尚未开始,返回Animation.START_ON_FIRST_FRAME
.第一帧restrictDuration
public void restrictDuration(long durationMillis)确保该动画将运行时间不超过durationMillis。除了调整时间本身,这确保了重复计数也不会让它运行超过给定的时间。getDuration
public long getDuration()computeDurationHint
public long computeDurationHint()动画的时间提示,它设置了其所有的子组件动画时间的最大值;getTransformation
public boolean getTransformation(long currentTime, Transformation outTransformation)
得到转换应用在指定的时间点。该方法的实现总是应用替换指定的转换;
参数 currentTime 指定时间点的转换,outTransformation 用于填充的转换;
类 Transformation
定义了用于动画某时间点的转换;