Interpolator
又名插值器,主要是实现动画的速率变化
Andorid所提供的所有插值器:
1、AccelerateDecelerateInterpolator:开始和结束速度慢,中间部分加速。
2、AccelerateInterpolator:开始缓慢,然后加速。
3、AnticipateInterpolator: 开始后退,然后前进。
4、AnticipateOvershootInterpolator: 开始后退,然后前进,直到超出目标值,再后退至目标值。
5、BounceInterpolator:在结束时弹跳。
6、CycleInterpolator:在指定数量的周期内重复动画,速度变化遵循正弦规律。
7、DecelerateInterpolator:开始加速,结束缓慢。
8、LinearInterpolator:匀速。
9、OvershootInterpolator:前进,直到超出目标值,再后退至目标值。
10、PathInterpolator:根据路径变化改变速率。
这里仅举两例
image.png public void startAnimationSet() {
//创建动画,参数表示他的子动画是否共用一个插值器
AnimationSet animationSet = new AnimationSet(true);
//添加动画
animationSet.addAnimation(new AlphaAnimation(1.0f, 0.0f));
//设置插值器
animationSet.setInterpolator(new LinearInterpolator());
//设置动画持续时长
animationSet.setDuration(3000);
//设置动画结束之后是否保持动画的目标状态
animationSet.setFillAfter(true);
//设置动画结束之后是否保持动画开始时的状态
animationSet.setFillBefore(false);
//设置重复模式
animationSet.setRepeatMode(AnimationSet.REVERSE);
//设置重复次数
animationSet.setRepeatCount(AnimationSet.INFINITE);
//设置动画延时时间
animationSet.setStartOffset(2000);
//取消动画
animationSet.cancel();
//释放资源
animationSet.reset();
//开始动画
mIvImg.startAnimation(animationSet);
}
网友评论