如何改变旋转轴

时间:2013-06-27 11:37:01

标签: android android-animation android-canvas android-ui android-custom-view

我想在Y轴上向左或向右45度的轴上翻转图像视图。如何获得这个新的旋转轴以及如何将其应用于图像视图。链接在这里 我希望实现的目标。

https://www.youtube.com/watch?v=hDlp-aWq-uM&feature=youtu.be

谢谢!

3 个答案:

答案 0 :(得分:3)

使用Camera实现像View.setRotationY一样的3D旋转。

camera.save();
camera.rotateY(rotate);
camera.getMatrix(matrix);
matrix.preTranslate(-left, 0);
matrix.postTranslate(left, 0);
camera.restore();

canvas.save();
canvas.concat(matrix);

canvas.drawBitmap(...);

canvas.restore();

我的个人项目的结果可以在下面查看。 enter image description here

答案 1 :(得分:0)

您可以使用Matrix类

实现此目的
Matrix mtrx=new Matrix();
imageView.setScaleType(ScaleType.MATRIX);  
mtrx.postRotate((float) angle, pivX, pivY);
imageView.setImageMatrix(mtrx);

答案 2 :(得分:0)

你应该通过扩展ImageView来覆盖draw方法或者创建你自己的图像视图类,然后旋转轴在draw()中旋转画布,并且对于翻转,你可以使用可用于API 11+的用户objectanimator,以及在11之前,你可以使用位于url下面的nineoldandroids.com库

http://nineoldandroids.com/