標籤:
轉載: http://blog.csdn.net/xilibi2003/article/details/6628668
使用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小 實驗
android ImageView scaleType屬性