您的位置:首页 > 移动开发 > Android开发

Android 图片ImageView.ScaleType详解

2016-07-10 15:52 417 查看
ImageView控件中有个属性叫scaleType,scaleType用来控制在ImageView上显示的图片样式。

ImageView提供了以下方法选择scaleType的样式

public void setScaleType (ImageView.ScaleType scaleType)

相关的xml属性:

android:scaleType
接下来我们使用图片来演示各个样式的显示效果

原图片:(1920 * 1200)



1.CENTER (android:scaleType="center")

按图片原来的大小和比例居中显示,当图片的宽/高超过了View设置的宽高时,则截取图片的居中部分显示。当图片的宽/高没超过View设置的宽/高时则不截取。







2.CENTER_CROP (android:scaleType="centerCrop")

让图片的宽/高等于View设置的宽/高,保持图片的比例并居中显示。填满View设置的宽和高







3.CENTER_INSIDE (android:scaleType="cneterInside")

将图片按比例完全显示出来,并且居中,使得图片的宽/高等于或小于View设置的宽/高。如果原图的宽/高本身就小于View设置的宽/高,则原图的宽高不作任何处理。







4.FIT_CENTER (android:scaleType="fitCenter")

基本和CENTER_INSID一样,不同的是,CENTER_INSIDE对于原图比View小的图片不做扩大处理,而FIT_CENTER则会做扩大处理以填充宽/高

5.FIT_END (android:scaleType="fitEnd")

和FIT_CENTER处理图片的方式一致,显示的位置在View的底部或者右边。


6.FIT_START  (android:scaleType="fitStart")

和FIT_CENTER处理图片的方式一致,显示的位置在View的顶部或者左边。


7.FIT_XY (android:scaleType="fitXY")

把图片显示的宽高等于View设置的宽高,填满View控件,不保持图片的比例。







8.MATRIX (android:scaleType="matrix")

对图片不进行处理,显示的时候从图片的左上角进行显示,超过View宽/高的部分做剪裁处理。

在处理listView或者gridView中显示的图片时,图片大小都应该要一样大才好看,建议使用centerCrop或者fitXY,需要保持图片比例就使用centerCrop,不需要则使用fitXY。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息