美文网首页
ImageView的ScaleType

ImageView的ScaleType

作者: code希必地 | 来源:发表于2020-05-25 17:43 被阅读0次

1、简述

ImageView的ScaleType属性一共有八种类型。

        MATRIX      (0),
        FIT_XY      (1),
        FIT_START   (2),
        FIT_CENTER  (3),
        FIT_END     (4),
        CENTER      (5),
        CENTER_CROP (6),
        CENTER_INSIDE (7);

每种类型的属性表示图片在ImageView视图上的一种展示方式。
原图的尺寸:宽300px,高187px
我们通过三个ImageView展示,设置三个固定大小,宽x高:

  • 60dpx30dp
  • 200dpx150dp
  • 200dpx30dp

2、属性详解

2.1、fitXY

图片根据ImageView的大小去缩放,占满整个ImageView,如果图片的比例和ImageView的比例不同,会导致图片变形。

Screenshot_2020-05-25-16-46-06-0873917671.png
总结:不关心图片的大小,缩放后的图片大小和ImageView宽高相等,不裁剪,会拉伸

2.2、fitCenter

ImageView大小固定,图片适配ImageView,图片按照ImageView的大小缩放,直到宽高一方或全部和ImageView的宽高相等,图片完全在ImageView内部。位于ImageView中间。

Screenshot_2020-05-25-16-51-29-0612609991.png
总结:图片完全按照ImageView的宽高进行缩放,完全在ImageView的内部,有一项紧贴着ImageView,不裁剪,不拉伸

2.3、fitEnd和fitStart

和fitCenter一样,只不过缩放后的图片布局中。


fitEnd.png
fitStart.png

2.4、center

ImageView大小固定,按照图片的宽高展示,不进行缩放,如果展示不下就进行裁剪,将图片和ImageView的交集展示出来。

center.png

2.5、centerCrop

ImageView的大小固定,图片适配ImageView,图片按照ImageView大小进行缩放,直到有一边或全部和ImageView的宽高相等,需要图片的宽高全部大于等于ImageView的宽高

center_crop.png
总结:根据图片适配ImageView,在缩放时需要保证图片的宽、高都不比ImageView的宽高小,并且有一项紧贴着ImageView,裁剪,不拉伸。

2.6、centerInside

Imageview大小固定,图片根据ImageView的大小进行缩小操作(无扩大),保证图片的宽高都不大于ImageView的宽高,图片宽高小于ImageView时图片大小保持不变,放大时有一项紧贴ImageView,不裁剪,不拉伸。


centerInside.png

3、总结

  • 进行裁剪的Type:center(在展示不下时会进行裁剪)和centerCrop
  • centerInside、fitStart、fitEnd、fitCenter是类似的,在缩放后(centerInside在图片小于ImageView时不进行缩放)总有一边是紧贴着ImageView的,并且图片宽高都不大于ImageView的宽高,最后肯定都是在ImageView内部的。
  • centerCrop,在缩放后,总有一边紧贴着ImageView,并且图片的宽高都不小于ImageView的宽高,超出的部分被裁剪掉。

相关文章

网友评论

      本文标题:ImageView的ScaleType

      本文链接:https://www.haomeiwen.com/subject/hdbyahtx.html