为什么ImageView.setImageMatrix()不起作用?

Rol*_*and 20 android android-layout

我想使用ImageView.setImageMatrix(矩阵)旋转图像,但它根本没有任何效果.我叫做matrix.postRotate(45,20,20); 在将其传递给上述函数但没有效果之前,图像不会旋转.为什么?

matrix.postRotate(45, 20, 20);
ImageView.setImageMatrix(matrix)
Run Code Online (Sandbox Code Playgroud)

big*_*nes 66

我不太确定,但我认为你应该设置比例类型:

imgView.setScaleType(ScaleType.MATRIX);
Run Code Online (Sandbox Code Playgroud)

你也可以用XML做到这一点android:scaleType="matrix".

  • 它对我不起作用.我的代码`Matrix matrix = new Matrix(); matrix.postRotate(90); my_img.setScaleType(ScaleType.MATRIX); my_img.setImageMatrix(matrix);`没有任何反应! (5认同)
  • 您需要使用`matrix.postRotate(90, imageWidth / 2, imageHeigth / 2);` (2认同)
  • 在设置矩阵之后设置可绘制对象为我解决了这个问题 (2认同)