在使用這個(gè)屬性的時(shí)候缩筛,需要明白其中幾個(gè)屬性的區(qū)別:
Center
Center_crop
center_inside
fit_center
fit_end
Fit_start
Fit_end
Fit_xy
為了方便理解,這里將 圖片的寬高定義為x,控件ImageView的寬高定義為Y堡称。
center屬性:
目的:將圖片顯示在ImagView的中心點(diǎn)歪脏,不進(jìn)行縮放。
1粮呢,若x均大于Y婿失,則不完整顯示。
2啄寡,若x均小于Y豪硅,則原圖顯示。
center_crop屬性:
目的:將圖放在中心點(diǎn)挺物,再進(jìn)行等比例縮放懒浮,使得圖片的x均不小于控件的Y。
1识藤,若x均小于Y砚著,則等比例放大圖片,直至鋪滿控件痴昧,這種情況等比例放大稽穆,可能會(huì)導(dǎo)致 某方向上的圖片顯示不全。
2赶撰,若x1或x2小于Y1或Y2舌镶,則放大鋪滿控件。(x1 x2 指寬或高豪娜,其他同理)餐胀。
舉例:控件為750*750,圖片位600*800,這樣會(huì)將600放大到750瘤载,而800也會(huì)等比例放大否灾,則垂直方向會(huì)顯示不全,(800所在的方向)鸣奔,會(huì)被裁剪墨技。
3,若x>Y溃蔫,等比例縮小圖片健提,當(dāng)x1或x2 等于對(duì)應(yīng)的Y1或Y2時(shí),停止縮放伟叛,這種情況則會(huì)導(dǎo)致圖片顯示不完整私痹,有缺失。
特點(diǎn):圖片會(huì)鋪滿imagView,但可能會(huì)顯示不完全。
Center_inside屬性:
目的:將圖片放在中心點(diǎn)紊遵,再進(jìn)行等比例縮放账千。使得圖片的 X均不小于控件的Y。
1暗膜,若x<y匀奏,則將圖放在中間,此情況下可能四周會(huì)出現(xiàn)背景顏色学搜。
2娃善,若x1或x2 >Y1或Y2,則將圖片等比例縮小直到控件 完整顯示該圖片,此情況下瑞佩,圖片的上下或者左右聚磺,可能會(huì)出現(xiàn)背景顏色。
3炬丸,若x>y,則等比例縮小圖片使得圖片的x均不大于Y瘫寝,所以也很容易導(dǎo)致上下或者左右出現(xiàn)背景色。
特點(diǎn):1稠炬,始終會(huì)完全顯示圖片
2焕阿,可能導(dǎo)致imageVIew留白,即露出背景顏色首启。
前兩者的 區(qū)別: center-crop 要求圖片的x均不小于控件的Y暮屡。
center_inside 要求圖片的x均不大于控件的Y。
fit_center屬性:
將圖片放在中心點(diǎn)闽坡,對(duì)圖片進(jìn)行等比例縮放栽惶,從而完整的顯示圖片愁溜。疾嗅。重點(diǎn)完整的顯示圖片。直到圖片的某一個(gè)方向的值(X1或x2) 等于控件的某一值(Y1或Y2)
1冕象,當(dāng)x均(小于)Y,等比例放大圖片代承,這種情況下上下或左右可能出現(xiàn)背景色,與center_inside一致渐扮。
2论悴,當(dāng)圖片的X>控件的Y時(shí)。則等比例縮小圖片墓律,直到x1或X2等于Y1或者Y2任意一值膀估。這種情況下與1 一樣,可能出現(xiàn)背景色耻讽。(某方向)
3察纯,當(dāng)圖片的某一值 大于控件的某一值時(shí),此時(shí)有一個(gè)原則:完整的顯示圖片。所以此時(shí)會(huì)對(duì)圖片進(jìn)行等比例縮放饼记。直到圖片的X均不大于控件的Y香伴。
特點(diǎn): 必須完整顯示圖片。與center_inside的主要區(qū)別就是:當(dāng)圖片的X都小于控件的Y時(shí)具则,center_inside是完整顯示就行即纲,放中間,會(huì)出現(xiàn)背景色博肋,但不一定會(huì)寬高與控件相等低斋。而fit_center的寬高至少有一值與控件的相等。(重點(diǎn)區(qū)別)
fit_end 和fit_center屬性類似匪凡,差別在于fit_end會(huì)將縮放后的圖片放在控件的右下角拔稳。
fit_start (左上角)
Fit_xy 不按照比例縮放圖片,從而使圖片鋪滿整個(gè)控件锹雏,在此情況下雖然可以 完整的顯示圖片巴比,但是圖片會(huì)被拉伸 導(dǎo)致失真。
saleType的默認(rèn)值為 fit_center礁遵。
記錄一次在調(diào)整項(xiàng)目中圖片顯示不全所遇到的坎轻绞。
若有不對(duì)的地方,望提出佣耐,加以修改政勃,共同進(jìn)步。