ImageView的scaletype属性对比

ImageView的属性android:scaleType,即 ImageView.setScaleType(ImageView.ScaleType)。android:scaleType是控制图片如何 resized/moved来匹对ImageView的size。ImageView.ScaleType / android:scaleType值的意义区别:

 
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  把图片 不按比例 扩大/缩小到View的大小显示
MATRIX / matrix 用矩阵来绘制
 

主界面:

Android <wbr>API之ImageView.ScaleType代码演示

 CENTER效果:

 Android <wbr>API之ImageView.ScaleType代码演示

  

CENTER_CROP效果:

 Android <wbr>API之ImageView.ScaleType代码演示

  

CENTER_INSIDE效果:

 Android <wbr>API之ImageView.ScaleType代码演示

  

FIT_CENTER效果:

 Android <wbr>API之ImageView.ScaleType代码演示

 
FIT_START效果:

 Android <wbr>API之ImageView.ScaleType代码演示

 
FIT_END效果:

 Android <wbr>API之ImageView.ScaleType代码演示


FIT_XY效果:

 Android <wbr>API之ImageView.ScaleType代码演示

 

MATRIX效果:

 Android <wbr>API之ImageView.ScaleType代码演示

结果分析:

我选取的原始图片明显标志如下:左上角有蝴蝶、花朵,右下角为一个蝗虫,且图片像素大于 320×480,各种类型的差异通过查看图片的明显标志即可窥见一斑。比如FIT_START,填充于屏幕上方,并等比例缩放;相反,FIT_END置于屏幕下方,而FIT_CENTER则在中间。CENTER_CROP裁剪了图片的中间部分填充屏幕。其它类型可自行查看分析。

来自:http://blog.sina.com.cn/s/blog_407abb0d0100mao1.html

posted @ 2012-08-02 09:18  ok_lanyan  阅读(203)  评论(0编辑  收藏  举报