正在翻译对象时的3D旋转

时间:2010-12-01 01:43:12

标签: android

我一直在玩Android动画框架,我找到了以下3D旋转示例代码:

http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/animation/Transition3d.html

http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/animation/Rotate3dAnimation.html

它确实做了我想要的但是我希望ImageView在从A点转换到B点时旋转,它应该沿着它自己的中心(正在移动)而不是屏幕容器的中心旋转。

有谁知道怎么做?

-Rachel

1 个答案:

答案 0 :(得分:0)

嗯,这与你发布的内容非常接近。基本上,您将旋转矩阵乘以平移矩阵。这基本上是封面下发生的事情。 Android用它的API隐藏了你的详细信息:

Matrix matrix = transformation.getMatrix();
matrix.rotate( rotateX, rotateY );
matrix.postTranslate( transX, transY );

首先旋转然后翻译将在翻译之前首先围绕它自己的轴旋转图像。