.setScaleType()方法可以设置所显示的图片缩放模式。
其中参数如下:
枚举值 | ||
ImageView.ScaleType | CENTER | 图片位于视图中间,但不执行缩放比例 |
ImageView.ScaleType | CENTER_CROP | 按比例统一缩放图片(保持图片的尺寸比例)便于图片的两维(宽度和高度)等于或大于相应的视图维度 |
ImageView.ScaleType | CENTER_INSIDE | 按比例统一缩放图片(保持图片的尺寸比例)便于图片的两维(宽度和高度)等于或小于相应的视图维度 |
ImageView.ScaleType | FIT_CENTER | 缩放图片使用CENTER |
ImageView.ScaleType | FIT_END | 缩放图片使用END |
ImageView.ScaleType | FIT_START | 缩放图片使用START |
ImageView.ScaleType | FIT_XY | 缩放图片使用FILL. |
ImageView.ScaleType | MATRIX | 当绘制时使用图片矩阵缩放 |
CENTER /center 按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示
CENTER_CROP / centerCrop 按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽)
CENTER_INSIDE / centerInside 将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/宽
FIT_CENTER / fitCenter 把图片按比例扩大/缩小到View的宽度,居中显示
FIT_END / fitEnd 把图片按比例扩大/缩小到View的宽度,显示在View的下部分位置
FIT_START / fitStart 把图片按比例扩大/缩小到View的宽度,显示在View的上部分位置
总结:
如果图片的尺寸大于ImageView 的大小,那么使用CENTER_INSIDE 或者 FIX_CENTER 会自动等比例缩小图片,居中显示的效果。
如果图片的尺寸小于 ImageView的大小,那么使用CENTER_CROP 或者 FIX_XY 会自动放大图片。其中 CENTER_CROP只会裁剪了图片的中间部分填充屏幕,而FIX_XY 则是将图片在XY 方向拉伸填充完整个ImageView。