【发布时间】:2013-06-27 11:37:00
【问题描述】:
我想在 Y 轴左右 45 度的轴上翻转图像视图。如何获得这个新的旋转轴以及如何将其应用于图像视图。链接在这里 我想要达到的目标。
https://www.youtube.com/watch?v=hDlp-aWq-uM&feature=youtu.be
谢谢!
【问题讨论】:
标签: android android-animation android-canvas android-ui android-custom-view
我想在 Y 轴左右 45 度的轴上翻转图像视图。如何获得这个新的旋转轴以及如何将其应用于图像视图。链接在这里 我想要达到的目标。
https://www.youtube.com/watch?v=hDlp-aWq-uM&feature=youtu.be
谢谢!
【问题讨论】:
标签: android android-animation android-canvas android-ui android-custom-view
使用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();
【讨论】:
您可以使用 Matrix 类来实现这一点
Matrix mtrx=new Matrix();
imageView.setScaleType(ScaleType.MATRIX);
mtrx.postRotate((float) angle, pivX, pivY);
imageView.setImageMatrix(mtrx);
【讨论】:
你应该重写draw方法或通过扩展ImageView创建你自己的图像视图类,然后旋转轴在draw()中旋转画布,对于翻转你可以使用可用于API 11+的objectanimator,以及pre-11 你可以使用位于以下 url 的 Nineoldandroids.com 库
【讨论】: