ImageView特性探索

示例布局:
<ImageView
        android:id="@+id/photo"
        android:layout_centerInParent="true"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:scaleType="fitXY"
        android:src="@drawable/gridview_empty_photo" />

scaleType属性:(转自http://blog.csdn.net/dfqin/article/details/7930352)

MATRIX 用图片的矩阵从左向开始来画,不做任何拉伸。如果一个100*100的ImageView,它的src是10*10的小图,则图显示在左上角,如果scr是200*200的大图,则截取它左上的100*100做显示。


CENTER 不做任何拉伸,以居中的方式显示图片。如果是一个100*100的ImageView,它的src是10*10的小图,则图显示在的中央,如果src是200*200的大图,截取中间的100*100用来显示。


CENTER_CROP 保持图片横宽比,以图片中心为基点进行拉伸显示,拉伸的原则是填充满整个ImageView。如果是一个100*100的ImageView,它的src是20*10,则它会被等比拉伸成200*100,然后再截取其中央的100*100显示。如果src是200*300的,直接截取中央的100*100显示,不做任何拉伸或缩放。


CENTER_INSIDE 保持图片横宽比,以图片中心为基点进行缩放显示,缩放的原则是显示完整个图片。如果是一个100*100的ImageView,它的src是20*10,它直接居中显示。如果src是200*100的,先把图片等比缩小到100*50,然后再居中显示。


FIT_XY 不保持图片横宽比,把图片的宽和高分别拉伸或缩放至ImageView的大小。如果是一个100*100的ImageView,它的src是20*10,则直接把它拉伸为100*100后显示,如果src是200*100,则把它缩放为100*100后显示,此种方法容易导致图片变形。


FIT_CENTER 保持横宽比,对图片进行拉伸或缩放,原则是:1)图片能完整显示,2)图片宽或高至少有一样与ImageView的相同,3)处理过的图片居中显示。如果是一个100*100的ImageView,它的src是20*10,先把图片等比放大到100*50,然后再居中显示。它的src是100*200,会先把图片等比缩放到50*100,然后再居中显示。


FIT_START 与 FIT_CENTER 缩放拉伸原则一样,区别是处理过的图片居左显示。


FIT_END 与 FIT_CENTER缩放拉伸原则一样,区别是处理过的图片居右显示。


下面有文章中有实例图:

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


你可能感兴趣的:(ImageView特性探索)