android 弹性动画,SpringAnimation详解-Android

SpringAnimation 类是最近(25.3.0版本)才添加在支持库中的一个类,它主要是为了让实现弹性动画变得更加方便,其实facebook在很久以前的Rebound库就实现了这样的动画,而且效果非常好,不过现在有官方支持肯定是更好了。本文先来看看SpringAnimation的基本用法,然后再将它和Rebound做一些比较。

SpringAnimation类介绍

SpringAnimation类位于android.support.animation包之下,别和属性动画混淆了,属性动画的包是android.animation.Animator,看来以后对动画的临时增改都会放在android.support.animation里面了。跟SpringAnimation一起放出的类还有:Spring Force defines the characteristics of the spring being used in the animation.

其中SpringAnimation类是DynamicAnimation类的子类,而DynamicAnimation的意思是符合动力学的动画,也就是物理动画。

为什么要使用SpringAnimation?

我们已经有万能的属性动画了, 使用 BounceInterpolator 或者 OvershootInterpolator 作为插值器不是一样可以弹来弹去么,为什么还需要SpringAnimation呢?

主要是因为用它实现弹性动画非常简单,而且BounceInterpolator 或者 OvershootInterpolator 的轨迹并不符合物理学上的弹跳效果。

SpringAnimation的基本用法

先引入必要的包:compile 'com.android.support:support-dynamic-animation:25.3.0'

使用SpringAnimation非常简单,几行代码SpringForce springForce = new SpringForce(0)

.setDampingRatio(SpringForce.DAMPING_RATIO_HIGH_BOUNCY)

.setStiffness(SpringForce.STIFFNESS_VERY_LOW);

final SpringAnimation anim = new SpringAnimation(view ,SpringAnimation.TRANSLATION_Y).setSpring(springForce);

anim.start();

就是这么简单。

对以上代码的解释

我们首先定义了一个用于设置弹性参数的 SpringForce 对象,其构造参数中的 0 表示被作用对象的最终位置。

setDampingRatio(float dampingRatio)方法设置弹性阻尼,dampingRatio越大,摆动次数越少,当到1的时候完全不摆动,注意它体验出来的最明显的特征是摆动次数这个概

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值