Android之动画3D旋转

本文探讨了Android中3D旋转的实现,主要围绕y轴进行旋转。内容基于Google官方示例,介绍了一个在`onCreate()`和`onResume()`无法获取布局尺寸的坑,并提出在点击监听器中获取尺寸的解决方案。博客还展示了3D旋转效果及其实现代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文主要记录一个坑

关于3D的旋转,三维空间有xyz轴,手机上x轴:手机的宽;y轴:手机的高;z轴:手机到人眼那个垂直于手机面的方向,3D旋转就是围绕y轴旋转。本文主要内容来自Google的官方demo。

不知道怎么下载google sample请看步骤(Android studio)

File --> New --> Import samlpe...(如果你被墙了,戳这里,只能帮你到这里了)

先说说这个坑是啥:在onCreate()里无法得到布局控件的宽和高,那就去onResume()里,那时视图都加载完了,不好意思,依旧获取不到,只能在onClick(listener是观察者模式)里使用时再得到值

看看3D效果


看看3D旋转的Util

import android.graphics.Camera;
import android.graphics.Matrix;
import android.view.animation.Animation;
import android.view.animation.Transformation;

/**
 * <p>Description: 使用Camera来实现,Rotate3dAnimation使用的是绕Y轴旋转  </p>
 * Created by slack on 2016/7/13 18:35 .
 *
 *  from : http://blog.163.com/benben_long/blog/static/19945824320141117443156/
 */
public class Rotate3dAnimation extends Animation {
    private final float mFromDegrees;
    private final float mToDegrees;
    private final float mCenterX;
    private final float mCenterY;
    private final floa
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值