Android 中 ImageView 控件 scaleType 属性

来源:互联网 发布:逆袭网络剧百度云资源 编辑:程序博客网 时间:2024/06/06 06:36

所选用的图片规格是:230 * 126 (1.8 : 1)
ImageView 控件的背景颜色是黑色,当图片没有铺满控件时,将显示出来
测试在四种 ImageView 宽高的情况下的显示效果:

  • ImageView 控件宽高:119 * 78
    这里写图片描述

  • ImageView 控件宽高:100 * 50
    这里写图片描述

  • ImageView 控件宽高:238 * 156
    这里写图片描述

  • ImageView 控件宽高:300 * 150
    这里写图片描述

通过对比以上四张图片,我们可以总结出以下结论:

  1. 当值为 center 时,原始图片不进行放缩,如果 ImageView 控件宽高大于图片,则居中显示,其余地方留白,如果 ImageView 控件宽高小于图片,则对原始图片进行裁剪,取中间区域显示;

  2. 当值为 centerCrop 时,原始图片将进行等比例缩放,以宽高比较大的边缩放到与控件相同,然后将较长边多余的裁剪掉,比如 原始图片宽高比:1.8:1,ImageView 控件宽高比:2:1, 此时将 原始图片的宽 1.8 放大到 2,此时原始图片的高变为 1.1,然后将高度裁剪为 1;

  3. 当值为 centerInside 时,如果 ImageView 的宽高都大于 原始图片,那么原始图片将保持原样,而只要有一边小于原始图片,那么原始图片将按照最小边进行等比例缩放,剩余部分留白;

  4. 当值为 fitCenter 时,与 centerInside 类似,唯一不同的是,当 ImageView 宽高都大于原始图片时,centerInside 不会进行放大,而 fitCenter 会放大直到宽或高与 ImageView 的宽或高相同为止,剩余部分留白;

  5. fitStart 和 fitEnd 与 fitCenter 类似,唯一不同的是,fitStart 是靠左边或靠上,fitEnd 是靠右或者靠下,而 fitCenter 是居中显示;

  6. 当值为 fitXY 时,原始图片单纯地铺满整个控件,不进行等比例缩放,此时如果控件宽高比和图片宽高比不相同,则图片将出现变形;

0 0
原创粉丝点击