1.android:scaleType="matrix" (默認)
不改變原圖的大小,從ImageView的左上角開始繪制原圖,原圖超過ImageView的部分作裁剪處理。
2.android:scaleType="center"?
保持原圖的大小,顯示在ImageView的中心。當(dāng)原圖的size大于ImageView的size,超過部分裁剪處理。
3.android:scaleType="centerCrop"
以填滿整個ImageView為目的,將原圖的中心對準ImageView的中心,等比例放大原圖,直到填滿ImageView為止(指的是ImageView的寬和高都要填滿),原圖超過ImageView的部分作裁剪處理。
4.android:scaleType="centerInside"
以原圖完全顯示為目的,將圖片的內(nèi)容完整居中顯示,通過按比例縮小原圖的size寬(高)等于或小于ImageView的寬(高)。如果原圖的size本身就小于ImageView的size,則原圖的size不作任何處理,居中顯示在ImageView。
5.android:scaleType="fitCenter"
把原圖按比例擴大或縮小到ImageView的ImageView的高度,居中顯示
6.android:scaleType="fitEnd"?
把原圖按比例擴大(縮小)到ImageView的高度,顯示在ImageView的下部分位置
7.android:scaleType="fitStart"?
把原圖按比例擴大(縮小)到ImageView的高度,顯示在ImageView的上部分位置
8.android:scaleType="fitXY"?
把原圖按照指定的大小在View中顯示,拉伸顯示圖片,不保持原比例,填滿ImageView.
fitCenter和centerInside的區(qū)別:
fitCenter:是將原圖等比例放大或縮小,使原圖的高度等于ImageView的高度,并居中顯示;
centerInside:在原圖的原本size大于ImageView的size時,則縮小原圖,效果同fitCenter;在原圖的原本size小于ImageView的size時,則不進行任何size處理,居中顯示,效果同center。
注意:
保持原圖的長寬比:ImageView的android:adjustViewBounds屬性為是否保持原圖的長寬比,單獨設(shè)置不起作用,需要配合maxWidth或maxHeight一起使用。