adjustViewBounds :该属性为真时可以在调整ImageView边界时保持图片的纵横比例(需要与maxHeight 或maxWidth一起使用)。
scaleType: 属性用以表示显示图片的方式,共有8种取值ScaleType.CENTER, ScaleType.CENTER_CROP,ScaleType.CENTER_INSIDE, ScaleType.FIT_CENTER, ScaleType.FIT_END, ScaleType.FIT_START, ScaleType.FIT_XY, ScaleType.MATRIX。这8种取值中,最后一种MATRIX是根据一个3x3的矩阵对其中图片进行缩放。
这里的实验选取的ImageView宽高均为150dp。选取的图片有两张,一张大小为400x589的竖版,另一张为60x43的横版。结果如下:
1.CENTER:图片大小为原始大小,如果图片大小大于ImageView控件,则截取图片中间部分,若小于,则直接将图片居中显示。
2.CENTER_CROP:将图片等比例缩放,让图像的短边与ImageView的边长度相同,即不能留有空白,缩放后截取中间部分进行显示。
3.CENTER_INSIDE:将图片大小大于ImageView的图片进行等比例缩小,直到整幅图能够居中显示在ImageView中,小于ImageView的图片不变,直接居中显示。
4.FIT_CENTER:ImageView的默认状态,大图等比例缩小,使整幅图能够居中显示在ImageView中,小图等比例放大,同样要整体居中显示在ImageView中。
5.FIT_END:缩放方式同FIT_CENTER,只是将图片显示在右方或下方,而不是居中。
6.FIT_START:缩放方式同FIT_CENTER,只是将图片显示在左方或上方,而不是居中。
7.FIT_XY:将图片非等比例缩放到大小与ImageView相同。