Android中ImageView控件的ScaleType屬性使用詳解

在我們平時的開發過程中,可以說圖片展示是每個App必備的,所以我們會用到ImageView圖片控件,對於每個Android開發者來說,這已經非常熟悉了,那有童鞋就會問了:這還有什麼好講的呢?事實確實是這樣嗎?

那我問問你,你確定對ImageView控件的每個屬性都瞭如指掌了嗎?,記得之前面試的時候,很多面試官很喜歡問ScaleType屬性的使用,這就考察你是否真的理解了。之前我也並沒有在意這個屬性的使用,以爲只會在面試的時候才需要用到,事實是我錯了,在最近的開發過程中,使用了大量的圖片展示商品的圖片,而且不同的模塊,圖片的展示還需要不一樣,那麼這個時候ScaleType屬性就發揮作用了,可是這個時候突然發現自己的理解也有點模糊,所以還是有必要重新理解一下這個屬性的用法的,下面我們來看看詳解吧。

當我們設置ImageView的ScaleType屬性時,開發工具中會彈出以下的選項讓你選擇:
在這裏插入圖片描述
首先我們設置ImageView控件填充整個屏幕:

<ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#00c6a6"/>

這個是還沒有設置ScaleType屬性的效果圖:
在這裏插入圖片描述
再來看看我們需要加載的圖片的原圖,準備了兩張不同尺寸的原圖:
大圖:在這裏插入圖片描述
小圖:
在這裏插入圖片描述
那我們來看看每個選項的效果:

1.android:scaleType=“center”
(1).當原圖的size小於ImageView的size時,保持原圖的大小,顯示在ImageView的中心。
在這裏插入圖片描述
(2).當原圖的size大於ImageView的size時,多出來的部分被截掉。
在這裏插入圖片描述
2.android:scaleType=“center_inside”
以原圖正常顯示爲目的
(1).當原圖的size小於ImageView的size時,不做處理居中顯示圖片.
在這裏插入圖片描述
(2).當原圖的size大於ImageView的size時,就按照比例縮小原圖的寬高,居中顯示在ImageView中.
在這裏插入圖片描述
3.android:scaleType=“center_crop”
以原圖填滿ImageView爲目的
(1).當原圖的size小於ImageView的size時,則按比例拉昇原圖的寬和高,填充ImageView居中顯示。
在這裏插入圖片描述
(2).如果原圖size大於ImageView的size,則與center_inside一樣,按比例縮小,居中顯示在ImageView上。
在這裏插入圖片描述
4.android:scaleType=“matrix”
不改變原圖的大小,從ImageView的左上角開始繪製,超出部分做剪切處理。
(1).當原圖的size小於ImageView的size時
在這裏插入圖片描述
(2).當原圖的size大於ImageView的size時
在這裏插入圖片描述
5.androd:scaleType=“fit_xy”
把圖片按照指定的大小在ImageView中顯示,拉伸顯示圖片,不保持原比例,填滿ImageView.
(1).當原圖的size小於ImageView的size時,清晰度看起來比較模糊。
在這裏插入圖片描述
(2).當原圖的size大於ImageView的size時,清晰度看起來比較清晰。
在這裏插入圖片描述
6.android:scaleType=“fit_start”
把原圖按照比例放大縮小到ImageView的高度,顯示在ImageView的start(前部/上部)。
(1).當原圖的size小於ImageView的size時,清晰度看起來比較模糊。
在這裏插入圖片描述
(2).當原圖的size大於ImageView的size時,清晰度看起來比較清晰。
在這裏插入圖片描述

7.android:sacleType=“fit_center”
把原圖按照比例放大縮小到ImageView的高度,顯示在ImageView的center(中部/居中顯示)。
(1).當原圖的size小於ImageView的size時,清晰度看起來比較模糊。
在這裏插入圖片描述
(2).當原圖的size大於ImageView的size時,清晰度看起來比較清晰。
在這裏插入圖片描述
8.android:scaleType=“fit_end”
把原圖按照比例放大縮小到ImageView的高度,顯示在ImageVIew的end(後部/尾部/底部)
(1).當原圖的size小於ImageView的size時,清晰度看起來比較模糊。
在這裏插入圖片描述
(2).當原圖的size大於ImageView的size時,清晰度看起來比較清晰。
在這裏插入圖片描述
到這裏就全部解析完了。


以下是個人公衆號(longxuanzhigu),之後發佈的文章會同步到該公衆號,方便交流學習Android知識及分享個人愛好的文章,有問題可以留言哦:
在這裏插入圖片描述

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