Android开发中提供了一种模仿实际物理效果的动画方法,被称之为物理动画。在Android Developer学习网站中提供了两种动画方法:
弹簧动画SpringAnimation
投掷动画FlingAnimation
大家可以去Android Developer中看一些理论知识和方法含义
弹簧动画主要通过设置阻尼比Damping_Ratio和刚度Stiffness两个物理属性的值来模仿物理动画效果。通俗讲就是点击一个视图或者窗口时,让视图实现类似弹簧效果,使动画不会显得太突兀。我们通过Demo看下效果,可以看到下图中的ImageView有一个弹跳的效果,就如同你把ImageView视图放在弹簧上,然后拉拽这根弹簧时的效果。
准备工作:
build.gradle中加入SpringAnimation依赖
一. dynamic_animation_main_activity.xml主页布局
布局中主要需要视图ImageView元素和Button按钮,点击Button按钮后视图ImageView实现SpringAnimation动画效果。
将Button控件放入到一个LinearLayout中,只是为了方便后期添加其他组件拓展应用
二. dynamicAnimationActivity.java代码
1. 通过findViewById方法关联Button和ImageView视图
2. - 为Button控件添加点击监听事件
- 当点击Button后,实例化SpringAnimation类,将spring_imageView(要实现动画的视图)作为参数
- 调用setupSpringAnimation()方法
- 方法中实例化SpringForce类,自定义一些基本属性Damping_Ratio,Stiffness和finalPosition
- return 自定义的SpringForce类
- SpringAnimation实例set自定义的SpringForce
- App主进程中调用start()方法开始动画
上述Demo基本上是没有任何拓展的基本方法