关闭

Android 弹簧动画效果

标签: 动画facebook
3325人阅读 评论(1) 收藏 举报
分类:

一、概述

Rebound 通过胡克定律,实现的一个类似“弹簧”动画效果的第三方工具包,由FaceBook退出,于2013年10月正式发布,旨在解决笨重、缓慢的传统移动网络界面。

先上几张效果图:

               

         


特点:
Rebound 可以使你的动画看起来像真实自然,像真实世界物理运动
Rebound 不是一个物理引擎库,但是Rebound可以使用弹簧动力来驱动各种各样的动画
Rebound使用和Origami(IOS的)相同的弹簧系数,方便实用。
并且可以和Material Design的设计原则呼应,可用于滚动条、切换开关、呼叫等场景下

二、如何使用

1.首先添加Rebound库依赖

  • 如果你使用Android studio,那么恭喜你,你可以直接添加gradle依赖,相比其他方法简便许多
    dependencies {
      compile 'com.facebook.rebound:rebound:0.3.6'
    }

  • 下载Reboud Jar文件,导入工程
  • 添加Maven依赖 
    <dependency>
      <groupId>com.facebook.rebound</groupId>
      <artifactId>rebound</artifactId>
      <version>0.3.6</version>
    </dependency>

2.创建一个SpringSystem对象

SpringSystem mSpringSystem = SpringSystem.create();

3.添加一个“弹簧”到系统

	
Spring mSpring = mSpringSystem.createSpring();

4.添加监听器

mSpring.addListener(this);
//实现SpringListener接口,需要实现下面方法
@Override
public void onSpringUpdate(Spring spring) {
}
@Override
public void onSpringAtRest(Spring spring) {
}
@Override
public void onSpringActivate(Spring spring) {
}
@Override
public void onSpringEndStateChange(Spring spring) {
}

当然还可以实现简单的监听

spring.addListener(new SimpleSpringListener() {  
  
  @Override  
  public void onSpringUpdate(Spring spring) {  
    // You can observe the updates in the spring  
    // state by asking its current value in onSpringUpdate.  
 
  }  
});  


5.设置动画结束值

mSpring.setEndValue(1f);

6.在弹簧更新数据是对图片进行对应伸缩

public void onSpringUpdate(Spring spring) {
    float value = (float) spring.getCurrentValue();
    float scale = 1f - (value * 0.5f);
    mImageToAnimate.setScaleX(scale);
    mImageToAnimate.setScaleY(scale);
}

通过上面几个步骤可以很方便的实现弹簧阻尼效果的图片伸缩


参考

2
0

猜你在找
深度学习基础与TensorFlow实践
【在线峰会】前端开发重点难点技术剖析与创新实践
【在线峰会】一天掌握物联网全栈开发之道
【在线峰会】如何高质高效的进行Android技术开发
机器学习40天精英计划
Python数据挖掘与分析速成班
微信小程序开发实战
JFinal极速开发企业实战
备战2017软考 系统集成项目管理工程师 学习套餐
Python大型网络爬虫项目开发实战(全套)
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:117435次
    • 积分:1849
    • 等级:
    • 排名:千里之外
    • 原创:60篇
    • 转载:30篇
    • 译文:0篇
    • 评论:18条
    最新评论