大家好,又见面了,我是你们的朋友全栈君。
public static enum ScaleType {
MATRIX,
FIT_XY,
FIT_START,
FIT_CENTER,
FIT_END,
CENTER,
CENTER_CROP,
CENTER_INSIDE;
private ScaleType() {
}
}
由代码中可以看出ScaleType有八种属性。我们先上对比图,再分析各个属性的不同。
-
matrix:不改变原图的大小,从ImageView的左上角开始绘图,原图超过ImageView大小的部分不做显示,裁剪掉。
-
fitXY:按照ImageView的大小显示,拉伸图片,填满ImageView。
-
fitCenter:将原图按比例缩放到ImageView的高度或者宽度,居中显示。
-
fitEnd:将原图按比例缩放到ImageView的高度或者宽度,在ImageView的底部显示
-
fitStart:将原图按比例缩放到ImageView的高度或者宽度,在ImageView的上部显示
-
center:不改变原图的大小,在原图的中心部分显示在ImageView的中心,当原图超过ImageView不做显示,裁剪掉。
-
centerCrop:以原图填满ImageView为目的,如果原图size大于ImageView的size,则与center_inside一样,按比例缩小,居中显示在ImageView上。如果原图size小于ImageView的size,则按比例拉升原图的宽和高,填充ImageView居中显示。
-
centerInside:以原图正常显示为目的,如果原图大小大于ImageView的size,就按照比例缩小原图的宽高,居中显示在ImageView中。如果原图size小于ImageView的size,则不做处理居中显示图片。
从上面的解析中,我们可以看出:
- 以
FIT_
开头的4种,它们的共同点是都会对图片进行缩放; - 以
CENTER_
开头的3种,它们的共同点是居中显示,图片的中心点会与ImageView
的中心点重叠; ScaleType.MATRIX
,单独一种。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151804.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...