日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

图文讲解Android ImageView的ScaleType,帮你彻底搞明白

發布時間:2023/12/15 综合教程 47 生活家
生活随笔 收集整理的這篇文章主要介紹了 图文讲解Android ImageView的ScaleType,帮你彻底搞明白 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天和大家聊一個比較基礎的話題,Android里ImageView的ScaleType屬性,這個屬性決定了一張圖片如何顯示在ImageView上,常用的值有以下幾個:

CENTER,CENTER_CROP,CENTER_INSIDE,FIT_CENTER,FIT_END,FIT_START,FIT_XY,MATRIX。

相信ScaleType屬性大家都不會陌生。但是,在真實的使用過程中,很多同學總是要實際調試幾次才能找到自己的需要的ScaleType值。這說明關于ScaleType,還有些小細節還不是特別清楚。

問題分析:

一般來說,要把一張圖片顯示在ImageView上,有下面幾個問題需要考慮:

1,ImageView會不會被填滿?

2,圖片會不會完整顯示?

3,圖片會不會被伸縮,如果是的話,是否按原始比例伸縮?
在真實的產品環境中,一個ImageView的大小往往都是有限制的,至少長或寬有一條邊是有限制的,所以,在ImageView上顯示圖片還需要考慮:
1,真實的圖片比ImageView要小,會怎么顯示?

2,真實的圖片比ImageView要大,會怎么顯示?
第二個問題,還可以細化成:
1,真實的圖片長寬都比ImageView的長寬要大,會怎么顯示?

2,真實的圖片長或寬有一條邊比ImageView要大,另一條邊比ImageView要小,會怎么顯示?
怎么樣,簡單的一個顯示圖片操作,就有這么多細節需要考慮。下面的章節,我們就抓住上面幾點,通過實際的例子幫你理解ScaleType的各個屬性值。


FIT_XY

首先看下實際效果:

一句話總結FIT_XY:就是以不按原比例伸縮為代價,強制讓圖片充滿ImageView,同時圖片所有的部分也會完整顯示出來(雖然可能變形)。但是,因為其不按原比例伸縮的特點,真實的產品中不太常用,因為圖片被拉伸變形往往是不可以接受的。(上面例子中的美女已經被拉伸的不成樣子了)


CENTER

還是先看下例子:

這個屬性值的名稱雖然是CENTER,但是和一般意義上的“居中”有很大不同。這個屬性值即不會保證填滿ImageView,也不保證圖片會完整顯示。當實際圖片比ImageView小的時候,就是“居中顯示”。當圖片比ImageView大,就把圖片中間的部分顯示在ImageView里,其他的裁剪掉不顯示。(上面第二組圖尤其明顯)


FIT_CENTER

先看例子

FIT_CENTER更接近于大家理解的“居中顯示”,也是平時用的最多的一個值。首先,這個屬性會保證圖片完整顯示,不管圖片和ImageView的大小關系。而且伸縮的時候是按照比例做的,所以圖片質量也可以得到保證。唯一的問題是,FIT_CENTER不保證會填滿ImageView。對于大多數場景,這個也足夠了。

FIT_START,FIT_END和FIT_CENTER差不多,就不詳細介紹了。


CENTER_CROP

先看例子:

CENTER_CROP,是個非常重要的值,但是很多同學對它并不是很了解。首先,這個屬性值的名字很奇怪,很難猜出來其真實的含義;其次,它的官方介紹簡直又臭又長,讓人一頭霧水:

Scale the image uniformly (maintain the image's aspect ratio) so that both dimensions (width and height) of the image will be equal to or larger than the corresponding dimension of the view (minus padding).
其實,CENTER_CROP的特點總結起來很簡單:以可能裁切掉部分圖片為代價,讓圖片充滿ImageView。

可以和FIT_XY做下對比,CENTER_CROP和FIT_XY是唯二的可以保證填滿ImageView的值。所不同的是,FIT_XY是以不保持原始比例伸縮為代價(但是保證原圖全部顯示出來);而CENTER_CROP是以不能顯示完整原圖為代價(但是保證原圖的原始比例)。


CENTER_CROP和FIT_CENTER的對比

二者都會按原始比例伸縮圖片,所不同的是,CENTER_CROP將圖片伸縮到填滿ImageView為止,FIT_CENTER伸縮到圖片完整并居中顯示為止。

下面兩個動圖可以讓你看得更清楚:


CENTER_INSIDE

先看例子:

CENTER_INSIDE又是一個奇怪的值,原文的解釋也是讓人看不懂:

Scale the image uniformly (maintain the image's aspect ratio) so that both dimensions (width and height) of the image will be equal to or less than the corresponding dimension of the view (minus padding).
其實總結起來很簡單:當原圖大于ImageView的時候,相當于FIT_CENTER。當原圖小于等于ImageView的時候,相當于CENTER。


MATRIX

看下例子

MATRIX的效果比較簡單:不改變原圖的大小,從ImageView的左上角開始繪制,超出部分做剪切處理。不保證填滿ImageView,也不保證圖片完全顯示。和CENTER有點類似。反正我在項目中是沒有用過這個值。


總結

下面的表格總結了下各個屬性值的特點,注意,表格中為“是”并不是說一定會發生,只是說明有這種可能。


思考題

最后再給大家出一道思考題,看看大家的掌握情況:

要實現微信朋友圈九宮格的照片效果,應該使用ScaleType的哪個值?
相信通過學習本文章,聰明的你很快就能找到答案。

作者:我愛紐約先生
鏈接:https://www.jianshu.com/p/c0bfa575d163
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

總結

以上是生活随笔為你收集整理的图文讲解Android ImageView的ScaleType,帮你彻底搞明白的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久国产成人精品国产成人亚洲 | 国产成人自拍网站 | 亚洲无码一区二区三区 | 用力插视频 | 武林美妇肉伦娇喘呻吟 | 国产精品久久久久久久久久久久久久久久久 | 国产精品久久午夜夜伦鲁鲁 | av在线超碰 | 黄色成人免费观看 | 鸥美一级片| 国产毛片高清 | 好吊视频一二三区 | 国产无套在线观看 | 中文字幕99 | 午夜a视频 | 欧美劲爆第一页 | 99re这里有精品 | 黑人大群体交免费视频 | 欧美国产日韩视频 | 暖暖av在线| 亚洲精品综合久久 | 三级av片 | 伊人亚洲影院 | 久久受 | 亚洲成人1区| 7777精品久久久久久 | 456亚洲视频 | 国产精品国产自产拍高清av | 欧美狠狠爱 | 老司机在线观看视频 | fexx性欧美| 久久久久久久久久99 | 国产极品美女高潮无套在线观看 | 97在线看 | 欧美男人的天堂 | 中文字幕+乱码+中文字幕一区 | 毛片aaaaaa| 亚洲色图美腿丝袜 | 国产妞干网 | 久久一区二区精品 | np视频| 饥渴少妇勾引水电工av | 亚洲天堂激情 | 美女免费看片 | 俄罗斯乱妇 | 一区二区三区日韩电影 | 亚洲影院一区二区三区 | 九九热九九 | 国产成人啪精品午夜在线观看 | 中文字幕一区二区三区5566 | 毛片在哪里看 | 五月婷婷伊人网 | 一卡二卡三卡四卡五卡 | 久久久久久久久久久91 | 国产精品女人和拘 | 国产免费一区二区三区在线观看 | 免费成人高清 | 在线成人黄色 | 成人免费视频国产免费 | 大香伊人久久 | 在线观看免费高清在线观看 | 国产综合在线观看视频 | 亚洲永久视频 | 激情免费av | 亚洲色图狠狠干 | 亚欧洲精品视频在线观看 | 老熟妇毛茸茸 | 五月天综合网站 | 日韩黄色片免费看 | 美女娇喘 | 久久精品123 | 久久久无码一区二区三区 | 亚洲自拍偷拍av | 欧美一区二区三区观看 | 超碰在线视屏 | 亚洲两性| 成年人小视频 | 寻找身体恐怖电影免费播放 | 国产欧美视频一区 | www在线看片 | 被黑人啪到哭的番号922在线 | 牛夜精品久久久久久久99黑人 | 青青草一区二区三区 | 午夜免费福利网站 | 一起艹在线观看 | 啪啪免费小视频 | 国产网站精品 | 曰韩一级片| 中文字幕在线2021 | 三年中国片在线高清观看 | 亚洲精品网站在线 | 成人黄色电影在线 | 色爱色| 91国产丝袜播放在线 | av在线网站观看 | 欧美一区日韩一区 | 悠悠av| 欧美激情一区二区三区四区 | 日韩免费黄色 |