ImageView的ScaleType詳解

本文來(lái)至:ifangler.com.

一直對(duì)ImageView的ScaleType的幾個(gè)選項(xiàng)有點(diǎn)陌生,網(wǎng)上的資料也沒(méi)能讓我清楚的知道在什么場(chǎng)景應(yīng)該選擇ScaleType的哪個(gè)選項(xiàng)劲厌,于是自己用例子來(lái)實(shí)驗(yàn)了一把掀潮。

開始之前:下面會(huì)有圖來(lái)說(shuō)明這幾個(gè)選項(xiàng)的區(qū)別米辐,每張圖片會(huì)比較默認(rèn)的ScaleType和相應(yīng)的ScaleType選項(xiàng)洪己。其中圖片的黑色框框是ImageView的顯示邊界洽故。

FIT_CENTER

將圖片按比例擴(kuò)大/縮放到ImageView的寬高届良,居中顯示笆凌。
我的理解:將圖片按比例縮放(擴(kuò)大)直到圖片的寬或高與ImageView的寬高相等,然后居中顯示士葫。
這是ImageView的默認(rèn)處理方式

FIT_XY

不按比例縮放圖片菩颖,目標(biāo)是把圖片塞滿整個(gè)View。
我的理解:將圖片縮放/擴(kuò)大直到與ImageView的寬高相等为障,由于沒(méi)有按比例縮放晦闰,所以會(huì)存在寬或高出現(xiàn)拉伸至相同高度。

有圖有真相:


圖片打扮中...

FIT_START

FIT_START, FIT_END在圖片縮放效果上與FIT_CENTER一樣鳍怨,只是顯示的位置不同呻右。

FIT_END

同上。

我的理解:上面兩個(gè)屬性與FIT_CENTER的縮放方式是一樣的鞋喇,只是最后顯示的位置不一樣声滥,F(xiàn)IT_CENTER是居中顯示,F(xiàn)IT_START是顯示在START的位置侦香,F(xiàn)IT_END是顯示在END的位置落塑。
關(guān)于START和END的位置:

  1. 如果圖片縮放到與ImageView等寬,那么START在頂部罐韩,END在底部憾赁。
  2. 如果圖片縮放到與ImageView等高,那么START在左邊散吵,END在右邊龙考。

圖片如下:
FIT_START效果

圖片打扮中...

FIT_END效果
圖片打扮中...

CENTER

按圖片的原來(lái)size居中顯示蟆肆,當(dāng)圖片寬/高超過(guò)ImageView的寬/高,則截取圖片的居中部分顯示晦款。
我的理解:這個(gè)是不會(huì)改變圖片大小的炎功,將圖片顯示在ImageView中,如果圖片寬高超過(guò)ImageView的寬高缓溅,則將超出的部分裁切到顯示蛇损。如果圖片未超過(guò)ImageView大小,則顯示原圖坛怪。

效果如下:
圖片較小的情況

圖片打扮中...

圖片超過(guò)ImageView大小的情況
圖片打扮中...

CENTER_CROP

按比例擴(kuò)大圖片的size居中顯示淤齐,使得圖片寬/高等于或大于ImageView的寬/高
我的理解:這個(gè)會(huì)按比例拉伸圖片直到圖片的寬高都大于或等于ImageView的寬高,多余的部分被裁切掉酝陈。

效果如下:


圖片打扮中...

CENTER_INSIDE

將圖片的內(nèi)容完整居中顯示,通過(guò)按比例縮小或原來(lái)的size使得圖片寬/高等于或小于ImageView的寬/高
我的理解:這個(gè)和CENTER_CROP的處理方式類似毁涉,只是它會(huì)按比例拉伸圖片直到圖片的寬高都小于或等于ImageView的寬高沉帮。
需要注意的是:如果圖片的寬高都小于ImageView的寬高時(shí),顯示的是原圖贫堰。

效果如下:
圖片超過(guò)ImageView大小的情況

圖片打扮中...

圖片較小的情況
圖片打扮中...

這下就清楚多了~~

最后附上源碼地址:https://github.com/fangler/AndroidDemos/tree/master/ImageScaleDemo

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末穆壕,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子其屏,更是在濱河造成了極大的恐慌喇勋,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件偎行,死亡現(xiàn)場(chǎng)離奇詭異川背,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)蛤袒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門熄云,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人妙真,你說(shuō)我怎么就攤上這事缴允。” “怎么了珍德?”我有些...
    開封第一講書人閱讀 157,435評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵练般,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我锈候,道長(zhǎng)薄料,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,509評(píng)論 1 284
  • 正文 為了忘掉前任泵琳,我火速辦了婚禮都办,結(jié)果婚禮上嫡锌,老公的妹妹穿的比我還像新娘。我一直安慰自己琳钉,他們只是感情好势木,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,611評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著歌懒,像睡著了一般啦桌。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上及皂,一...
    開封第一講書人閱讀 49,837評(píng)論 1 290
  • 那天甫男,我揣著相機(jī)與錄音,去河邊找鬼验烧。 笑死板驳,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的碍拆。 我是一名探鬼主播若治,決...
    沈念sama閱讀 38,987評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼感混!你這毒婦竟也來(lái)了端幼?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,730評(píng)論 0 267
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤弧满,失蹤者是張志新(化名)和其女友劉穎婆跑,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體庭呜,經(jīng)...
    沈念sama閱讀 44,194評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡滑进,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,525評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了募谎。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片郊供。...
    茶點(diǎn)故事閱讀 38,664評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖近哟,靈堂內(nèi)的尸體忽然破棺而出驮审,到底是詐尸還是另有隱情,我是刑警寧澤吉执,帶...
    沈念sama閱讀 34,334評(píng)論 4 330
  • 正文 年R本政府宣布疯淫,位于F島的核電站,受9級(jí)特大地震影響戳玫,放射性物質(zhì)發(fā)生泄漏熙掺。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,944評(píng)論 3 313
  • 文/蒙蒙 一咕宿、第九天 我趴在偏房一處隱蔽的房頂上張望币绩。 院中可真熱鬧蜡秽,春花似錦、人聲如沸缆镣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)董瞻。三九已至寞蚌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間钠糊,已是汗流浹背挟秤。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留抄伍,地道東北人艘刚。 一個(gè)月前我還...
    沈念sama閱讀 46,389評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像截珍,于是被迫代替她去往敵國(guó)和親攀甚。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,554評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容