安卓 ImagView的ScaleType

今天做一個應用加載圖片,發現圖片的位置沒有佔滿整個ImageView,發現是ImageView的ScaleType屬性沒有設置,一般將ScaleType屬性設置成centerCrop,關於ImageView的屬性可以查看這篇文章:
https://blog.csdn.net/u012702547/article/details/50586946/

我們從源代碼的角度來看,ImageView是在哪裏處理了這個屬性,打開ImageView的源代碼,搜ScaleType的引用,發現主要在

private void initImageView()
private void configureBounds()

使用到了,在initImageView方法中,將屬性設置成了ScaleType.FIT_CENTER,這個屬性是將圖片等比例縮放,直至寬或者高有一方到達了ImageView的寬高,然後居中顯示,這也就是爲什麼什麼都不設置時,顯示是有問題的。
關於configureBounds方法,這個方法主要是對寬高進行縮放,有興趣可以深入研究。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章