Android ImageView 的scaleType屬性

Android ImageView 的scaleType屬性

Android ImageView scaleType屬性介紹

名稱含義
center使影象在檢視中居中,不縮放
centerCrop以填滿檢視為目的,以檢視中心為基準,等比縮放影象,超過檢視部分做剪裁
centerInside在檢視中居中完全顯示影象
matrix從檢視的左上角開始顯示影象,超出檢視大小部分做剪裁
fitCenter影象等比例擴大或縮小到等於檢視的寬度或高度,使影象完全顯示,並居中
fitStart等比例縮放影象使寬(高)等於檢視的寬(高),使影象完全顯示,並位於檢視上部(左部)
fitEnd等比例縮放影象使寬(高)等於檢視的寬(高),使影象完全顯示,並位於檢視下部(右部)
fitXY拉伸影象,使影象填滿檢視

示例及詳解

示例原圖
這裡寫圖片描述


android:scaleType="center"

保持影象的大小,將影象居中顯示在檢視中,若影象的尺寸大於檢視的尺寸,則超出檢視尺寸的部分將被剪裁。如圖1-1,1-2:
圖1-1
圖1-1

圖1-2
圖1-2


android:scaleType="centerCrop"

等比例放大影象,以檢視中心為基準,填滿整個檢視,超過檢視尺寸的部分將被剪裁。如圖2-1,2-2:
圖2-1 match_parent
圖2-1

圖2-2 固定ImageView大小
圖2-2


android:scaleType="centerInside"

等比例縮小影象以使影象完全顯示在檢視中,若影象尺寸小於檢視尺寸,則不對影象進行處理,居中顯示。若影象尺寸大於檢視,則等比例縮小影象,使影象寬(高)等於或小於檢視寬(高),居中顯示。如圖3-1,3-2,3-3:
圖3-1
圖3-1

圖3-2 縮小影象高至等於檢視高
圖3-2 縮小影象高至等於檢視高

圖3-3縮小影象寬至等於檢視寬
圖3-3 縮小影象寬至等於檢視寬


android:scaleType="matrix"

不改變影象的大小,從左上角開始顯示影象,影象尺寸若大於檢視尺寸,則多餘的部分會被裁剪。類似center,只是影象顯示的位置不同。如圖4-1,4-2:

圖4-1
圖4-1

圖4-2
圖4-2


android:scaleType="fitCenter"

等比例放大或縮小影象使影象的高(寬)等於檢視的高(寬),然後居中顯示。與center的區別是fitCenter不剪裁而是縮放,以使影象全部顯示;與centerCrop的區別是fitCenter不以填滿檢視為目的,是以全部顯示影象為目的;與centerInside的卻別是fitCenter等比縮放至寬或高等於檢視,而centerInside則只縮小不放大。如圖5-1,5-2,5-3:

圖5-1
圖5-1

圖5-2
圖5-2

圖5-3
圖5-3


android:scaleType="fitStart" android:scaleType="fitEnd"

fitStart:等比例縮放影象使寬(高)等於檢視的寬(高),使影象完全顯示,並位於檢視上部(左部)。fitEnd:等比例縮放影象使寬(高)等於檢視的寬(高),使影象完全顯示,並位於檢視下部(右部)。與fitCenter類似,只是顯示圖片位置的區別。如圖6-1,6-2,6-3,6-4:

圖6-1
圖6-1

圖6-2
圖6-2

圖6-3
圖6-3

圖6-4
圖6-4


android:scaleType="fitXY"

以填滿整個檢視為目的,拉伸圖片。與centerCrop的區別是fitXY不剪裁,拉伸以使影象填滿,影象會變形。如圖7-1:

圖7-1
圖7-1