美文网首页
插值器--Interpolator、AnimationSet 多

插值器--Interpolator、AnimationSet 多

作者: 26小瑜儿 | 来源:发表于2019-09-28 08:11 被阅读0次
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);

    }

相关文章

网友评论

      本文标题:插值器--Interpolator、AnimationSet 多

      本文链接:https://www.haomeiwen.com/subject/qvpeyctx.html