ImageView的ScaleType属性
设置方式:
(1) 在layout xml中定义Android:scaleType=”CENTER”
(2) 或在代码中调用imageView.setScaleType(ImageView.ScaleType.CENTER);
ScaleType的值 | 实现的效果 | 是否等比例 |
---|---|---|
CENTER | 按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示 | 是 |
CENTER_CROP | 按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽) | 是 |
CENTER_INSIDE | 将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/宽 | 是 |
FIT_CENTER | 把图片按比例扩大/缩小到View的宽度,居中显示 | 是 |
FIT_START | 图片缩放效果上与FIT_CENTER一样,只是显示的位置不同,FIT_START是置于顶部 | 是 |
FIT_END | 图片缩放效果上与FIT_CENTER一样,只是显示的位置不同,FIT_END置于底部 | 是 |
FIT_XY | 不按比例缩放图片,目标是把图片塞满整个View | 否 |
* 图片示例参见 ImageView.ScaleType设置图解
fitCenter和centerInside的区别
Tip:很多人都觉得fitCenter和centerInside没有区别,根据上面的效果图来分析,其实是有区别的。fitCenter是将原图等比例放大或缩小,使原图的高度等于ImageView的高度,并居中显示,而centerInside在原图的原本size大于ImageView的size时,则缩小原图,效果同fitCenter;在原图的原本size小于ImageView的size时,则不进行任何size处理,居中显示,效果同center。