本文內容同步更新到我之前寫的 Android UI 屬性筆記(持續更新) 。
scaleType 屬性,決定了圖片如何在 ImageView 中被顯示,下方用兩張圖說明。為了避免圖片跟 ImageView 的顯示範圍搞不清楚,所以我程式碼將
- ImageView 的長寬設為 match_parent ,也就是填滿上層的 LinerLayout。
- ImageView 的底色設成橘色。
所以下圖中的橘色也就是 ImageView 會塞滿整個手機顯示範圍。
觀察後的結論:
- 填入圖片之前,先決定好 ImageView 的長寬。若 ImageView 長寬設為 wrap_content ,也就是 ImageView 跟圖片一樣大,以小圖就例子,不管你怎麼改 scaleType,圖片都不會有變化,因為 ImageView 已經跟圖片一樣大了。
- 開發階段,可以設定每個元件的底色,方便 debug。
- 在確定了 ImageView 的長寬後,若我有可能同時放比 ImageView 大或小的圖片,又希望能完整呈現原本的圖片,大小又都要看起來差不多大小(比如 Line 裡頭選擇聊天圖案的畫面),最好的選擇是使用 fitCenter。