2011-07-11 198 views
7

我有一个图像在android中的imageview内。图像缩放调整大小IMAGEVIEW android

我使用通过代码scaletype(MATRIX)与此类似缩放图像:

     mtrx.postScale(scale, scale); 
       imageView.setImageMatrix(mtrx); 
      imageView.setScaleType(ScaleType.MATRIX); 
      imageView.invalidate(); 

现在,这并不正确调整包含在ImageView的,这是很好的形象,但我需要的是将图像重新定位到图像视图中的位置0,0,然后调整图像视图本身的大小以缩放图像的大小。

到目前为止,我想出了每个想法,试图重复使用相同的imageView似乎不工作,或者我只是做错了什么。

是我的唯一方法来完成此操作来销毁imageview,调整位图大小,创建一个新的imageview,其中包含按比例创建的新位图并将视图添加回布局?

我真的很喜欢不这样做..我正在碰撞16兆堆堆的限制,因为它是与事物。如何告诉矩阵将图像移动到imageView中的位置0,0(imageView最初是在缩放图像缩小后最初创建的,然后我如何告诉imageView,嘿,你现在只是?大如缩放后的图像提前

感谢

回答

8

设置你的形象以“调整视图边界”出现这样的伎俩

下面介绍一下文档不得不说:

如果您希望ImageView将边界调整为保持其可绘制的纵横比。

您可以通过使用android:adjustViewBounds="true"或代码imageView.setAdjustViewBounds(true)来做到这一点。

+1

但它不适用scaleType fitStart。至少在这种情况下:缩小后底部有空的垂直空间。当我设置adjustViewBounds =“true”时,这个空间不会被调整 – Ixx

1

将“调整视图边界”设置为true,然后将比例类型设置为“fitXY”,最后调整layout_width和height。你会看到图像大小调整。

相关问题