Android 如何使用setScaleType(ImageView.ScaleType.MATRIX)获得setScaleType(ImageView.ScaleType.FIT_CENTER)效果

Android 如何使用setScaleType(ImageView.ScaleType.MATRIX)获得setScaleType(ImageView.ScaleType.FIT_CENTER)效果,android,matrix,imageview,Android,Matrix,Imageview,在使用ImageView和Matrix的Android中,我想缩放图像以适应显示区域。 然后使用“收缩”,用户可以缩放图像。 使用setScaleType(ImageView.ScaleType.FIT\u CENTER)我可以在显示区域中调整图像。但是当我使用setScaleType(ImageView.ScaleType.MATRIX)开始缩放图像时,图像会重置为默认大小 所以我的问题是如何找到一个尺度矩阵,它将产生和 setScaleType(ImageView.ScaleType.FIT

在使用ImageView和Matrix的Android中,我想缩放图像以适应显示区域。 然后使用“收缩”,用户可以缩放图像。 使用
setScaleType(ImageView.ScaleType.FIT\u CENTER)
我可以在显示区域中调整图像。但是当我使用
setScaleType(ImageView.ScaleType.MATRIX)
开始缩放图像时,图像会重置为默认大小

所以我的问题是如何找到一个尺度矩阵,它将产生和
setScaleType(ImageView.ScaleType.FIT_CENTER)

您需要使用
mMatrix.setRectRect
Matrix.ScaleToFit.CENTER
将图像坐标和视图坐标作为源矩形和目标矩形

mMatrix.setRectToRect(new RectF(0,0,mImageView.getMeasuredWidth(),mImageView.getMeasuredHeight()),new RectF(0,0,mImageView.getParent().getMeasuredWidth(),mImageView.getParent().getMeasuredHeight()),Matrix.ScaleToFit.CENTER);