[Android] ImageView.ScaleType設定圖解

weixin_33831673發表於2014-10-16

ImageView的Scaletype決定了圖片在View上顯示時的樣子,如進行何種比例的縮放,及顯示圖片的總體還是部分,等等。

設定的方式包含:

1. 在layout xml中定義android:scaleType="CENTER"

2. 或在程式碼中呼叫imageView.setScaleType(ImageView.ScaleType.CENTER);


接下來,將對ScaleType的值和相應的顯示效果用最直觀的方式——真圖演示的方法,來進行說明。


首先,是測試使用的原始圖片:

(Dimensions: 128 * 128)

(Dimensions: 640 * 428)


好,開始以下的測試:

1. SetScaleType(ImageView.ScaleType.CENTER);

    按圖片的原來size居中顯示,當圖片長/寬超過View的長/寬,則擷取圖片的居中部分顯示

              


2. SetScaleType(ImageView.ScaleType.CENTER_CROP);

    按比例擴大圖片的size居中顯示,使得圖片長(寬)等於或大於View的長(寬)

               


3. setScaleType(ImageView.ScaleType.CENTER_INSIDE);

    將圖片的內容完整居中顯示,通過按比例縮小或原來的size使得圖片長/寬等於或小於View的長/寬

              


4. setScaleType(ImageView.ScaleType.FIT_CENTER);

    把圖片按比例擴大/縮小到View的寬度,居中顯示

              


5. FIT_START, FIT_END在圖片縮放效果上與FIT_CENTER一樣,僅僅是顯示的位置不同,FIT_START是置於頂部,FIT_CENTER居中,FIT_END置於底部。

    在此就不給出演示樣例了。


6. FIT_XY

    不按比例縮放圖片,目標是把圖片塞滿整個View。

              

相關文章