android:scaleType属性解析

ImageView.ScaleType.CENTER|android:scaleType="center" 

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


ImageView.ScaleType.CENTER_CROP|android:scaleType="centerCrop"

以原图的几何中心点和ImagView的几何中心点为基准,按比例扩大(图片小于View的宽时)图片的size居中显示,使得图片长 (宽)等于或大于View的长(宽),并按View的大小截取图片。当原图的size大于ImageView时,按比例缩小图片,使得长宽中有一向等于ImageView,另一向大于ImageView。实际上,使得原图的size大于等于ImageView


ImageView.ScaleType.CENTER_INSIDE|android:scaleType="centerInside"

 以原图的几何中心点和ImagView的几何中心点为基准,将图片的内容完整居中显示,通过按比例缩小原来的size使得图片长(宽)等于或小于ImageView的长(宽)


ImageView.ScaleType.FIT_CENTER|android:scaleType="fitCenter

把图片按比例扩大(缩小)到View的宽度,居中显示


ImageView.ScaleType.FIT_END|android:scaleType="fitEnd

把图片按比例扩大(缩小)到View的宽度,显示在View的下部分位置


ImageView.ScaleType.FIT_START|android:scaleType="fitStart

把图片按比例扩大(缩小)到View的宽度,显示在View的上部分位置


ImageView.ScaleType.FIT_XY|android:scaleType="fitXY

把图片按照指定的大小在View中显示,拉伸显示图片,不保持原比例,填满View.


ImageView.ScaleType.MATRIX|android:scaleType="matrix

用matrix来绘制

 

依本人之见,scaletype的种类分为三类matrix(默认)、fit-X类、和center类。matrix就不多说。fit-X类中,
fitStart、fitCenter和fitEnd之间的都是根据需要使原图改变对ImgView进行适应,不剪裁,按matrix进行绘制,但它们
的区别在于基准不同。fitStart的基准为最上角的点(即matrix方式开始的点)fitCenter的基准点为中间的点
(matrix方式中可以使图片居中的点),而fitEnd的基准点为右下角的点(即matrix方式最后绘制点)。center类
中,center、centerCrop、centerInside都是以原图的几何中心点和ImagView的几何中心点为基准,且只绘制
ImagView大小的图像,不同的是是否保持原图大小和绘图的目标不同、采取的手段不同


参考:

1. http://www.l99.com/EditText_view.action?textId=545898

2. http://juliaailse.iteye.com/blog/1409317

3. http://blog.sina.com.cn/s/blog_407abb0d0100mao1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值