ImageView的Scaletype決定了圖片在View上顯示時的樣子,如進行何種比例的縮放,及顯示圖片的總體還是部分,等等。
設定的方式包含:
1. 在layout xml中定義android:scaleType="CENTER"
2. 或在程式碼中呼叫imageView.setScaleType(ImageView.ScaleType.CENTER);
接下來,將對ScaleType的值和相應的顯示效果用最直觀的方式——真圖演示的方法,來進行說明。
首先,是測試使用的原始圖片:
(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。