Interpolator导致 的动画执行实际效果

AccelerateInterpolator: 在动画开始的地方速率改变比较慢,然后开始加速

ObjectAnimator oa = ObjectAnimator.ofFloat(view, "translationY", 0f,1100f);
		oa.setDuration(500);
		//设置加速插值器---参数值越大,加速度越大
		oa.setInterpolator(new AccelerateInterpolator(5));
                oa.start();
复制代码

AccelerateDecelerateInterpolator :在动画开始与结束的地方速率改变比较慢,在中间的时候加速

ObjectAnimator oa = ObjectAnimator.ofFloat(view, "translationY", 0f,1100f);
		oa.setDuration(500);
		oa.setInterpolator(new AccelerateDecelerateInterpolator());
                oa.start();
复制代码

AnticipateInterpolator :开始的时候向后移动,再向前移动,类似荡秋千,回荡再往前

ObjectAnimator oa = ObjectAnimator.ofFloat(view, "translationY", 0f,1100f);
		oa.setDuration(500);
		//设置回荡秋千插值器---参数值越大,回荡效果越大
		oa.setInterpolator(new AnticipateInterpolator(8));
                oa.start();
复制代码

AnticipateOvershootInterpolator :开始的时候向后然后向前甩一定值后返回最后的值

ObjectAnimator oa = ObjectAnimator.ofFloat(view, "translationY", 0f,1100f);
		oa.setDuration(500);
		oa.setInterpolator(new OvershootInterpolator());
                oa.start();
复制代码

BounceInterpolator:动画结束的时候弹起

ObjectAnimator oa = ObjectAnimator.ofFloat(view, "translationY", 0f,1100f);
		oa.setDuration(500);
                oa.setInterpolator(new BounceInterpolator());
                oa.start();
复制代码

CycleInterpolator:动画循环播放特定的次数,速率改变沿着正弦曲线

ObjectAnimator oa = ObjectAnimator.ofFloat(view, "translationY", 0f,1100f);
		oa.setDuration(500);
		//设置正弦周期变化插值器---参数值为循环次数
		oa.setInterpolator(new CycleInterpolator(4));
                oa.start();
复制代码

DecelerateInterpolator :在动画开始的地方先快后慢减速结束

ObjectAnimator oa = ObjectAnimator.ofFloat(view, "translationY", 0f,1100f);
		oa.setDuration(500);
		oa.setInterpolator(new DecelerateInterpolator());
                oa.start();
复制代码

OvershootInterpolator:向前甩一定距离后再回到原来位置

ObjectAnimator oa = ObjectAnimator.ofFloat(view, "translationY", 0f,1100f);
		oa.setDuration(500);
		oa.setInterpolator(new OvershootInterpolator());
                oa.start();
复制代码

具体动画效果请参考:这位大佬写的这篇文章: 自定义控件三部曲之动画篇(二)——Interpolator插值器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值