Android系统ImageView图像显示控件ScaleType属性的八种缩放规则
center
使得图像居中显示,不进行任何缩放。
当图片比控件大时,图片会有部分被裁剪掉,显示不全;
当图片比控件小时,虽然图片会完整显示出来,但是控件会有部分空间没有被图片填充而显示空白。
centerCrop
保持图像的宽高比,进行缩放图像,直到图像的宽和高都等于或大于控件的宽高,然后居中显示;
当图片和控件的宽高比例不相等时,图片会有部分被裁剪掉,显示不全。
centerInside
当图像的宽高大于控件的宽高时,保持图像的宽高比,进行缩放图像,直到图像的宽和高都等于或小于控件的宽高,然后居中显示;
当图像的宽高都小于控件的宽高时,使得图像中居中显示,不进行任何缩放。
fitCenter
保持图像的宽高比,进行缩放图像,直到图像的宽和高都等于或小于控件的宽高,然后居中显示;
当图片和控件的宽高比例不相等时,虽然图片会完整显示出来,但是控件会有部分空间没有被图片填充而显示空白。
fitCenter是ImageView的默认缩放方式。
fitEnd
保持图像的宽高比,进行缩放图像,直到图像的宽和高都等于或小于控件的宽高,然后居右侧或底部显示;
当图片和控件的宽高比例不相等时,虽然图片会完整显示出来,但是控件会有部分空间没有被图片填充而显示空白。
fitStart
保持图像的宽高比,进行缩放图像,直到图像的宽和高都等于或小于控件的宽高,然后居左侧或顶部显示;
当图片和控件的宽高比例不相等时,虽然图片会完整显示出来,但是控件会有部分空间没有被图片填充而显示空白。
fitXY
可以不用保持图像的宽高比,从控件的左上角分别对图片的宽和高进行缩放,使得图片的宽高等于控件的宽高;这种方式虽然图像可以完整显示,但是在原图和控件的宽高比不一致的情况下,图像是会被拉伸变形的。
matrix
不改变原图的宽高,不进行任何缩放,从控件的左上角开始绘制原图,原图超过控件的部分作裁剪处理。
当图片比控件大时,图片会有部分显示不全;
当图片比控件小时,虽然图片会完整显示出来,但是控件会有部分空间没有被图片填充而显示空白。
这个属性可以支持自定义图片缩放规则。