今天兴趣来潮,撸了一个动画特效,我把他应用在登录的界面,当然也可以用在其他地方,先来预览一下我的特效吧
使用方法
1. 在build.gradle里面配置如下
dependencies {
compile 'com.jzp:rotate3D:1.0.0'
}
2. 生成一个Rotate3D对象
Rotate3D anim = new Rotate3D.Builder(this)
.bindParentView(parent_ll)
.bindPositiveView(account_login_ll)
.bindNegativeView(account_phone_ll)
.create();
这里面必须要设置的参数是bindParentView,bindPositiveView,bindNegativeView,这些分别是父类View,正面View,以及旋转后的反面View,有提供可选参数
- setDuration 设置动画时间
- setDepthZ 设置Z轴深度
可选参数未设置的话就使用默认的
3. 启动动画
anim.transform();
实现原理
由于android提供的动画 alpha(淡入淡出),translate(位移),scale(缩放大小),rotate(旋转),这些都是平面上的动画,那想要做3D立体的动画,我们就需要从写animation,3D立体动画用到android的Camera库,Ca