Android开发学习:ImageView的scaletype属性

ImageView.ScaleType|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的几何中心点为基准,将图片的内容完整居中显示不放大,只缩小。当原图>imageView时,缩小原图,使其小于等于ImageView,显示全图;当原图<imageView时,不放大,居中显示原图。

 

使得长宽中有一向等于ImageView,另一向小于ImageView。与CenterCrop对应。关键字:不放大,只缩小,不截图

 

ImageView.ScaleType.FIT_CENTER|android:scaleType="fitCenter" 把图片按比例扩大(缩小)到View的宽度(短的边),居中显示。显示全部图片,通过按比例缩小(扩大)原来的size使得图片长(宽)等于或小于ImageView的长(宽)。关键字:按比例缩放,居中显示全图,

 

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

 

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大小的图像,不同的是是否保持原图大小和绘图的目标不同、采取的手段不同


来源:http://dengzhangtao.iteye.com/blog/2100434

阅读更多
下一篇Android LayoutInflater详解
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭