Android初级之ImageView的scaleType属性

本文详细介绍了Android中ImageView的scaleType属性的8种不同值及其应用场景,包括matrix、fitXY、fitStart、fitCenter、fitEnd、center、centerCrop和centerInside。通过对比不同值在固定尺寸的ImageView中的表现,帮助开发者更好地理解和使用这一属性。

1. ImageView属性:scaleType,用于控制图片根据控件大小的不同显示方式。

2. scaleType一共有8种值:matrix,fitXY,fitStart,fitCenter,fitEnd,center,centerCrop,centerInside。可以在java代码和xml中设置


下面记录一下这些值的含义和使用场景

在ImageView的大小固定或者宽高有一项固定的情况可以更好的看出这些值的区别

matrix

matrix表示原图左上角和ImageView的左上角重合开始绘制,如果原图大于ImageView,那么多余的部分则剪裁掉,如果原图小于ImageView,那么对原图不做任何处理。(不会做缩放处理,而是剪裁)

fitXY

fitXY的目标是填充整个ImageView,为了完成这个目标,它需要对图片进行一些缩放操作,在缩放的过程中,它不会按照原图的比例来缩放。(X,Y不等则是不规则缩放)

fitStart

将图片按比例缩放至View的宽度或者高度(取宽和高的最小值),然后居上或者居左显示(与前面缩放至宽还是高有关)(X,Y不等则是不规则缩放)

fitCenter

fitCenter和fitStart基本一样,唯一不同的是fitCenter将图片按比例缩放之后是居中显示。

fitEnd

fitEnd和fitStart也基本一样,唯一不同的是fitEnd将图片按比例缩放之后是居右或者居下显示。

center

center表示将原图按照原来的大小居中显示,如果原图的大小超过了ImageView的大小,那么剪裁掉多余部分,只显示中间一部分图像.(不做缩放处理,而是剪裁,居中显示)

centerCrop

centerCrop的目标是将ImageView填充满,故按比例缩放原图,使得可以将ImageView填充满,同时将多余的宽或者高剪裁掉,比如下面一个。(充满控件,缩放处理同时裁剪)

centerInsid

centerInside的目标是将原图完整的显示出来,故按比例缩放原图,使得ImageView可以将原图完整显示。(图片完整显示,缩放,不裁剪)

概括

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的上部分位置 

FIT_XY / fitXY   把图片 不按比例

参考资料:

android学习笔记之ImageView的scaleType属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值