Android 3D旋转动画库_java


今天兴趣来潮,撸了一个动画特效,我把他应用在登录的界面,当然也可以用在其他地方,先来预览一下我的特效吧


Android 3D旋转动画库_java_02


使用方法


  1. 在build.gradle里面配置如下

Android 3D旋转动画库_java_03

  1. 生成一个Rotate3D对象

Android 3D旋转动画库_java_04

这里面必须要设置的参数是bindParentView,bindPositiveView,bindNegativeView,这些分别是父类View,正面View,以及旋转后的反面View,有提供可选参数

  • setDuration 设置动画时间

  • setDepthZ 设置Z轴深度
    可选参数未设置的话就使用默认的

  1. 启动动画

Android 3D旋转动画库_java_05



实现原理


由于android提供的动画 alpha(淡入淡出),translate(位移),scale(缩放大小),rotate(旋转),这些都是平面上的动画,那想要做3D立体的动画,我们就需要从写animation,3D立体动画用到android的Camera库,Camera提供了三种旋转方法:

  • rotateX()

  • rotateY()

  • rotateX()
    调用这三种方法,传入旋转角度参数,即可实现视图沿着坐标轴旋转的功能。

实现的核心代码


Android 3D旋转动画库_java_06Android 3D旋转动画库_java_07


总结


代码中的作用我都有写注释,所以在这里就不多解释了,有的时候,我们看一些特效觉得做起来一定很麻烦,其实只要你掌握其实现原理,并不是很难,所以给大家一句忠告,多读源码,对技术的提升很有帮助。


点击阅读原文可下载源码



Android 3D旋转动画库_java_08