如何在ImageView中缩放图像以使其"适合"

use*_*402 14 scaling android imageview

我想以下列方式在ImageView中缩放图像.ImageView具有一些尺寸宽度(W)和高度(H).我放入图像视图的图像可能比WxH更小或更大.我希望它在保持宽高比以填充 WxH空间的同时进行缩放.

看起来最接近我想要的是android:scaleType ="centerInside",但我所看到的是,如果图像小于WxH,它会将该图像的一个小的非缩放版本放在中心ImageView(就像文档所说的那样),但我想让它缩放到"适合",同时显示整个图像,并将其拉伸到容器的最大可能尺寸而不会裁剪任何东西.换句话说,拉伸保持纵横比直到宽度或高度碰到容器的边缘(ImageView).

这似乎是一个显而易见的事情,但我无法让它以这种方式工作!

Squ*_*onk 15

来自Android文档......

public static final Matrix.ScaleToFit CENTER

计算将保持原始src宽高比的比例,但也将确保src完全适合dst.至少一个轴(X或Y)将完全适合.结果集中在dst内.

这个的XML属性是......

android:scaleType="fitCenter"
Run Code Online (Sandbox Code Playgroud)

  • 似乎工作,除非我使用layout_height ="0dp"和layout_weight ="1" (3认同)