对ImageView的scaleType属性的理解

时间:2021-09-13 14:43:09

Android的ImageView的scaleType属性共有八种值,需要配合android:src属性来使用。下面我们逐一来解释。下图中ImageView的大小是200dp*200dp。为了更全面,选取了两张图片素材,一张1080*1920的大图,一张246*200的小图。

素材如下:对ImageView的scaleType属性的理解对ImageView的scaleType属性的理解

1.matrix。保持原图比例,从左上角开始,以矩阵形式绘图。和原图比例1:1。但是不能保证图片显示完整。

对ImageView的scaleType属性的理解对ImageView的scaleType属性的理解

2.fitXY。将原图的XY方向进行缩放填充整个ImageView,图片显示完整,但是不能保证原图比例,这种做法不推荐。

对ImageView的scaleType属性的理解对ImageView的scaleType属性的理解

3.fitStart。将原图沿左上角的点,按比例缩放原图到刚好显示(宽或者高刚好等于ImageView的宽或者高)。

对ImageView的scaleType属性的理解对ImageView的scaleType属性的理解

4.fitCenter。对原图按比例缩放使之等于ImageView的宽或者高并居中显示,可以保证比例,可以完整显示。

对ImageView的scaleType属性的理解对ImageView的scaleType属性的理解

5.fitEnd。将原图沿右下角的点,按比例缩放原图到刚好显示(宽或者高刚好等于ImageView的宽或者高)。

对ImageView的scaleType属性的理解对ImageView的scaleType属性的理解

6.center。将原图的几何中心和ImageView的几何中心重合,不进行任何缩放,原图超过ImageView部分不予显示。

对ImageView的scaleType属性的理解对ImageView的scaleType属性的理解

7.centerCrop。将原图的几何中心和ImageView的几何中心重合,如果原图没有填充满ImageView。那么按比例放大到刚好填充;如果原图已经填充满ImageView,那么对原图进行裁剪。

对ImageView的scaleType属性的理解对ImageView的scaleType属性的理解

8.centerInside。将原图的几何中心和ImageView的几何中心重合,如果原图能完整显示,则不必缩放,如果不能完整显示,则缩小原图,让它刚好能完整显示为止。

对ImageView的scaleType属性的理解对ImageView的scaleType属性的理解

如果布局文件没有指定scaleType属性,那么默认使用的属性就是fitCenter。