在图像规模android上调整IMAGEVIEW的大小

use*_*212 7 android resize matrix resize-image imageview

我在android中的imageview中有一个图像.

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

                       mtrx.postScale(scale, scale);
                 imageView.setImageMatrix(mtrx);
            imageView.setScaleType(ScaleType.MATRIX);
            imageView.invalidate();
Run Code Online (Sandbox Code Playgroud)

现在,这确实适当地调整了ImageView中包含的图像的大小,这很好,但我需要的是将图像重新定位到imageview中的位置0,0,然后将imageView本身的大小调整为缩放图像的大小.

到目前为止,我想出的每一个想法都试图重用相同的imageView似乎不起作用,或者我只是做错了.

我唯一的方法是破坏imageview,调整位图大小,创建一个包含大规模创建的新位图的新imageview,并将视图添加回布局?

我真的不喜欢那样做..我正在碰到16 Meg堆限制,因为它与事物有关.如何告诉矩阵将图像移动到imageView中的0,0位置(imageView最初是用scaletype center创建的,之后它将图像缩小了?然后如何告诉imageView,嘿,你现在只是和缩放图像一样大吗?

提前致谢.

rha*_*ter 8

将图像视图设置为"调整视图边界"似乎可以解决问题.

以下是文档的说法:

如果希望ImageView调整其边界以保持其drawable的纵横比,请将此属性设置为true.

您可以通过使用android:adjustViewBounds="true"或使用代码来完成此操作imageView.setAdjustViewBounds(true).