如果你跟我一樣追求美觀界面帕翻,同時又非常健忘宠进。當(dāng)談到ImageView
縮放圖片時晕拆,偏偏就把各種ScaleType
的展示效果給忘了。所以你花了10~15分鐘把每種效果都編譯運行一遍看每種效果的異同材蹬。不久之后实幕,這個循環(huán)又將發(fā)生一遍。
下面展示不同ScaleType
的效果堤器。接著是官方文檔的解釋昆庇,最后是一點有用的提醒。
Scale Types
完整的官方解釋Android documentation.
CENTER
放中間闸溃,不拉伸整吆。
CENTER_CROP
均勻拉伸(保持寬高比),寬高>=ImageView
的寬高
CENTER_INSIDE
均勻拉伸(保持寬高比)辉川,寬高<=ImageView
的寬高
FIT_CENTER
用Matrix.ScaleToFit.CENTER
來拉伸圖片表蝙。
Matrix.ScaleToFit.CENTER
:等比縮放,確保原圖會整個放在View內(nèi)乓旗,寬高至少有一個適配容器寬高府蛇,居中顯示。
FIT_END
用Matrix.ScaleToFit.END
來拉伸圖片屿愚。
Matrix.ScaleToFit.END
:同上汇跨,底部顯示。
FIT_START
用Matrix.ScaleToFit.START
來拉伸圖片妆距。
Matrix.ScaleToFit.START
:同上穷遂,頭部顯示。
FIT_XY
用Matrix.ScaleToFit.FILL
來拉伸圖片娱据。
Matrix.ScaleToFit.FILL:原圖完全填充容器塞颁,可能會改變寬高比。
MATRIX
用Matrix
旋轉(zhuǎn)圖片
調(diào)整邊界
ImageView.ScaleType
并不是萬金油吸耿。如果你注意到賦值了CENTER_INSIDE
, FIT_CENTER
, FIT_END
和FIT_START
的ImageView
的實際邊界往往都比縮放后的圖片要大祠锣。如果要設(shè)置ImageView
的寬高于縮放后的圖片一致,在xml中添加
android:adjustViewBounds="true”
結(jié)果