android中ImageView的scaleType属性分析结果

在android中一般主要用ImageView来显示图片,那么关于图片的比例缩放,及显示图片的整体还是部分等等,我们可以使用scaleType来设置对应的显示模式。
使用方式:
(1)在xml布局文件中 android:scaleType=”center”;
(2)在代码中:imageView.setScaleType(ImageView.ScaleType.CENTER);

下面是几种结果实际测试对比结果:
首先是横图和竖图的原图:

这里写图片描述

(1) ImageView.ScaleType.CENTER | android:scaleType=”center”

这里写图片描述

以原图的几何中心点和ImagView的几何中心点为基准,按图片的原来size居中显示,不缩放;
当图片长/宽超过View的长/宽,则截取图片的居中部分显示ImageView的size;
当图片小于View 的长宽时,只显示图片的size,不放大。
关键字:不缩放,截图。

(2) ImageView.ScaleType.CENTER_CROP | android:scaleType=”centerCrop”

这里写图片描述

以原图的几何中心点和ImagView的几何中心点为基准,按比例扩大图片原图片的size居中显示;使得图片长 (宽)等于或大于View的长(宽),并按View的大小截取图片。
当原图的size大于ImageView时,按比例缩小原图片,使得原图的size大于等于ImageView的大小。
关键字:按比例缩放,截图

(3) ImageView.ScaleType.CENTER_INSIDE | android:scaleType=”centerInside”

这里写图片描述

以原图的几何中心点和ImagView的几何中心点为基准;
当原图片大于imageView的size时,缩小原图,使其小于等于imageView,将图片的内容完全居中显示。
当原图片小于imageView的size时,不放大原图,居中显示原图片。
关键字:将图片的内容完整居中显示,不放大,只缩小。

(4) ImageView.ScaleType.FIT_CENTER | android:scaleType=”fitCenter”

这里写图片描述

以原图的几何中心点和ImagView的几何中心点为基准;
原图片按比例扩大(缩小)到View的宽度(短的边),居中显示,显示全部图片。
通过按比例缩小(扩大)原图片来的size使得图片长(宽)等于或小于ImageView的长(宽)。
关键字:按比例缩放,居中显示全图

(5) ImageView.ScaleType.FIT_END | android:scaleType=”fitEnd”

这里写图片描述

以原图的右下角和ImagView的右下角为基准;
原图片按比例扩大(缩小)到View的宽度,显示在ImageView的下部分靠右位置。
关键字:按比例缩放,靠右显示全图。

(6) ImageView.ScaleType.FIT_START | android:scaleType=”fitStart”

这里写图片描述

以原图的右下角和ImagView的右下角为基准;
原图片按比例扩大(缩小)到View的宽度,显示在ImageView的上部分靠左位置。
关键字:按比例缩放,靠左显示全图

(7) ImageView.ScaleType.FIT_XY | android:scaleType=”fitXY”

这里写图片描述

原图片按照指定的大小在ImageView中显示,拉伸显示图片,不保持原比例,全部显示图片填满ImageView;
关键字:不保持比例,拉伸显示全图,填满ImageView。

(8) ImageView.ScaleType.MATRIX | android:scaleType=”matrix”

这里写图片描述

原图片按照指定的大小在ImageView中显示,不扩大(缩小),截取原图的上部分靠左位置
直接绘制在ImagView上显示;
关键字:不扩大缩小,截图(原图上部分靠左位置)。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值