標籤:
android中ImageView的ScaleType屬性
ScaleType的值分別代表的意義: ImageView是Android中的基礎圖片顯示控制項,該控制項有個重要的屬性是ScaleType,該屬性用以表示顯示圖片的方式,共有8種取值
ScaleType.CENTER::圖片大小為原始大小,如果圖片大小大於ImageView控制項,則截取圖片中間部分,若小於,則直接將圖片置中顯示。
ScaleType.CENTER_CROP:將圖片等比例縮放,讓映像的短邊與ImageView的邊長度相同,即不能留有空白,縮放後截取中間部分進行顯示。
ScaleType.CENTER_INSIDE:將圖片大小大於ImageView的圖片進行等比例縮小,直到整幅圖能夠置中顯示在ImageView中,小於ImageView的圖片不變,直接置中顯示。
ScaleType.FIT_CENTER:ImageView的預設狀態,大圖等比例縮小,使整幅圖能夠置中顯示在ImageView中,小圖等比例放大,同樣要整體置中顯示在ImageView中。
ScaleType.FIT_END:縮放方式同FIT_CENTER,只是將圖片顯示在右方或下方,而不是置中。
ScaleType.FIT_START:縮放方式同FIT_CENTER,只是將圖片顯示在左方或上方,而不是置中。
ScaleType.FIT_XY:將圖片非等比例縮放到大小與ImageView相同。
ScaleType.MATRIX:是根據一個3x3的矩陣對其中圖片進行縮放
===============================================================================================
首先,是測試使用的原始圖片:
(Dimensions: 128 * 128)
(Dimensions: 640 * 428)
好,開始下面的測試:
1. SetScaleType(ImageView.ScaleType.CENTER);
按圖片的原來size置中顯示,當圖片長/寬超過View的長/寬,則截取圖片的置中部分顯示
2. SetScaleType(ImageView.ScaleType.CENTER_CROP);
按比例擴大圖片的size置中顯示,使得圖片長(寬)等於或大於View的長(寬)
3. setScaleType(ImageView.ScaleType.CENTER_INSIDE);
將圖片的內容完整置中顯示,通過按比例縮小或原來的size使得圖片長/寬等於或小於View的長/寬
4. setScaleType(ImageView.ScaleType.FIT_CENTER);
把圖片按比例擴大/縮小到View的寬度,置中顯示
5. FIT_START, FIT_END在圖片縮放效果上與FIT_CENTER一樣,只是顯示的位置不同,FIT_START是置於頂部,FIT_CENTER置中,FIT_END置於底部。
在此就不給出樣本了。
6. FIT_XY
不按比例縮放圖片,目標是把圖片塞滿整個View。
參考:http://blog.csdn.net/larryl2003/article/details/6919513
Android ImageView的ScaleType屬性