1. 程式人生 > >ImageView scaleType

ImageView scaleType

使用ImageView時經常會用到scaleType屬性,如:

<ImageView android:layout_width="50dp"
android:layout_height="50dp" 
android:scaleType="matrix"
android:src="@drawable/sample_small" />

scaleType屬性的各個值總是記不住之間的區別。今天找點時間總結了一下:

scaleType的屬性值有:matrix   fitXY  fitStart   fitCenter  fitEnd  center   centerCrop  centerInside 

它們之間的區別如下:

matrix 用矩陣來繪製(從左上角起始的矩陣區域) fitXY  把圖片不按比例擴大/縮小到View的大小顯示(確保圖片會完整顯示,並充滿View)  fitStart  把圖片按比例擴大/縮小到View的寬度,顯示在View的上部分位置(圖片會完整顯示) fitCenter  把圖片按比例擴大/縮小到View的寬度,居中顯示(圖片會完整顯示
fitEnd   把圖片按比例擴大/縮小到View的寬度,顯示在View的下部分位置(圖片會完整顯示

center  按圖片的原來size居中顯示,當圖片寬超過View的寬,則擷取圖片的居中部分顯示,當圖片寬小於View的寬,則圖片居中顯示
 
centerCrop  按比例
擴大/縮小圖片的size居中顯示,使得圖片的高等於View的高,使得圖片寬等於或大於View的寬
 
centerInside  將圖片的內容完整居中顯示,使得圖片按比例縮小或原來的大小(圖片比View小時)使得圖片寬等於或小於View的寬 (圖片會完整顯示) 附上兩張實驗的截圖:
 圖1: 圖片比ImageView大的截圖 圖2: 圖比ImageView小 實驗截圖

 
====================================================================== 
宣告: