ImageView.ScaleType|android:scaleType值的意義:
ImageView.ScaleType.CENTER|android:scaleType="center" 以原圖的幾何中心點和ImagView的幾何中心點為基準,按圖片的原來size置中顯示,不縮放,當圖片長/寬超過View的長/寬,則截取圖片的置中部分顯示ImageView的size.當圖片小於View
的長寬時,只顯示圖片的size,不放大。關鍵字:不縮放,
ImageView.ScaleType.CENTER_CROP|android:scaleType="centerCrop" 以原圖的幾何中心點和ImagView的幾何中心點為基準,按比例擴大(圖片小於View的寬時)圖片的size置中顯示,使得圖片長
(寬)等於或大於View的長(寬),並按View的大小截取圖片。當原圖的size大於ImageView時,按比例縮小圖片,使得長寬中有一向等於ImageView,另一向大於ImageView。只放大,不縮小。實際上,使得原圖的size大於等於ImageView。關鍵字:只放大,不縮小,
ImageView.ScaleType.CENTER_INSIDE|android:scaleType="centerInside" 以原圖的幾何中心點和ImagView的幾何中心點為基準,將圖片的內容完整置中顯示,不放大,只縮小。當原圖>imageView時,縮小原圖,使其小於等於ImageView,顯示全圖;當原圖<imageView時,不放大,置中顯示原圖。
使得長寬中有一向等於ImageView,另一向小於ImageView。與CenterCrop對應。關鍵字:不放大,只縮小,不
ImageView.ScaleType.FIT_CENTER|android:scaleType="fitCenter" 把圖片按比例擴大(縮小)到View的寬度(短的邊),置中顯示。顯示全部圖片,通過按比例縮小(擴大)原來的size使得圖片長(寬)等於或小於ImageView的長(寬)。關鍵字:按比例縮放,置中顯示全圖,
ImageView.ScaleType.FIT_END|android:scaleType="fitEnd" 把圖片按比例擴大(縮小)到View的寬度,顯示在View的下部分位置。關鍵字:按比例縮放,靠右顯示全圖
ImageView.ScaleType.FIT_START|android:scaleType="fitStart" 把圖片按比例擴大(縮小)到View的寬度,顯示在View的上部分位置。關鍵字:按比例縮放,靠左顯示全圖
ImageView.ScaleType.FIT_XY|android:scaleType="fitXY" 把圖片按照指定的大小在View中顯示,展開顯示圖片,不保持原比例,全部顯示圖片填滿View.關鍵字:不保持比例,展開顯示全圖,填滿ImageView
ImageView.ScaleType.MATRIX|android:scaleType="matrix" 用matrix來繪製
依本人之見,scaletype的種類分為三類matrix(預設)、fit-X類、和center類。matrix就不多說。fit-X類中,
fitStart、fitCenter和fitEnd之間的都是根據需要使原圖改變對ImgView進行適應,不剪裁,按matrix進行繪製,但它們
的區別在於基準不同。fitStart的基準為最上角的點(即matrix方式開始的點)fitCenter的基準點為中間的點
(matrix方式中可以使圖片置中的點),而fitEnd的基準點為右下角的點(即matrix方式最後繪製點)。center類
中,center、centerCrop、centerInside都是以原圖的幾何中心點和ImagView的幾何中心點為基準,且只繪製
ImagView大小的映像,不同的是是否保持原圖大小和繪圖的目標不同、採取的手段不同
http://liangruijun.blog.51cto.com/3061169/807963
http://juliaailse.iteye.com/blog/1409317