Android 如何更改旋转轴

Android 如何更改旋转轴,android,android-animation,android-canvas,android-ui,android-custom-view,Android,Android Animation,Android Canvas,Android Ui,Android Custom View,我想翻转轴上的图像视图,该轴与Y轴向左或向右成45度角。如何获得新的旋转轴,以及如何将其应用于图像视图。这里是链接 我想要达到的目标 谢谢 您可以通过Matrix类实现这一点 Matrix mtrx=new Matrix(); imageView.setScaleType(ScaleType.MATRIX); mtrx.postRotate((float) angle, pivX, pivY); imageView.setImageMatrix(mtrx); 您应该重写draw方法或通过

我想翻转轴上的图像视图,该轴与Y轴向左或向右成45度角。如何获得新的旋转轴,以及如何将其应用于图像视图。这里是链接 我想要达到的目标


谢谢

您可以通过Matrix类实现这一点

Matrix mtrx=new Matrix();
imageView.setScaleType(ScaleType.MATRIX);  
mtrx.postRotate((float) angle, pivX, pivY);
imageView.setImageMatrix(mtrx);

您应该重写draw方法或通过扩展ImageView创建自己的图像视图类,然后在draw()中旋转轴旋转画布,对于翻转,您可以使用适用于API 11+的objectanimator,对于11之前的版本,您可以使用位于url下方的nineodandroids.com库

用于实现类似View.setRotationY的三维旋转

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();
我个人项目的结果可以在下面查看。

感谢Onur的响应,但旋转画布不会改变旋转轴,它只会旋转视图。旋转画布,绘制动画,然后恢复画布,这样它就可以工作了:)我尝试过这个,但无法用这个来改变轴,你能帮我解决角度、pivX、pivY的问题吗?