android实现3D旋转效果

本文介绍了如何在Android中实现3D旋转效果,主要利用自定义Animation和Camera类。通过重写applyTransformation方法,结合Interpolator控制动画进度,使用Transformation作为动画变化的载体。同时,详细讲解了Camera类的平移、旋转方法,以及Matrix类在图像变换中的应用。最终提供了一段自定义Animation的源代码示例,解释了为何需要分两步旋转来避免图像反转问题,并给出了相关参考资料。
摘要由CSDN通过智能技术生成

最近的项目中要用到3D旋转,搞了两天终于弄出来了,总结一下以供以后重用。

一、知识点介绍

3D旋转效果主要是借助了自定义Animation动画实现。通过继承Animation类,重写applyTransformation (float interpolatedTime, Transformation t)方法,在方法中使用Camera和Matrix实现变化。

1、applyTransformation (float interpolatedTime, Transformation t)方法

参数interpolatedTime表示执行进度(取值为0-1,1的时候动画结束),t为动画变化的载体。

下面具体介绍下这两个参数:

1)、interpolatedTime是Interpolator计算的结果。Interpolator是一个接口,主要用来对动画的播放的时间进度进行控制,有如下几种播放效果:

LinearInterpolator:匀速播放,为默认效果;

AccelerateInterpolator:加速播放;有一个参数factor,为加速因子,值越大加速效果越明显。

DecelerateInterpolator:减速播放

AccelerateDecelerateInterpolator:先加速后减速播放,即中间播放得最快;

CycleInterpolator:循环播放;

可以通过  animation.setInterpolator( new
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值