為適應不同屏幕的手機,ImageView顯示的圖片可能不鋪滿屏幕,如果定高的話,兩邊可能會出現空白。魅族手機就會有這種情況,在其他手機里顯示正常,在魅族手機里顯示,圖片左右兩邊會出現空白,為解決這一問題,可以使用
android:scaleType屬性來處理,處理方式如下:
在xml中設置直接使用:android:scaleType="centerCrop"
在Java中設置使用: ? imageView.setScaleType(ImageView.ScaleType. CENTER_CROP);
這里很關鍵的問題就是 android中ImageView的ScaleType屬性
ScaleType的值分別代表的意義: ImageView是Android中的基礎圖片顯示控件,該控件有個重要的屬性是ScaleType,該屬性用以表示顯示圖片的方式,共有8種取值
ScaleType.CENTER::圖片大小為原始大小,如果圖片大小大于ImageView控件,則截取圖片中間部分,若小于,則直接將圖片居中顯示。
ScaleType.CENTER_CROP:將圖片等比例縮放,讓圖像的短邊與ImageView的邊長度相同,即不能留有空白,縮放后截取中間部分進行顯示。
ScaleType.CENTER_INSIDE:將圖片大小大于ImageView的圖片進行等比例縮小,直到整幅圖能夠居中顯示在ImageView中,小于ImageView的圖片不變,直接居中顯示。
ScaleType.FIT_CENTER:ImageView的默認狀態,大圖等比例縮小,使整幅圖能夠居中顯示在ImageView中,小圖等比例放大,同樣要整體居中顯示在ImageView中。
ScaleType.FIT_END:縮放方式同FIT_CENTER,只是將圖片顯示在右方或下方,而不是居中。
ScaleType.FIT_START:縮放方式同FIT_CENTER,只是將圖片顯示在左方或上方,而不是居中。
ScaleType.FIT_XY:將圖片非等比例縮放到大小與ImageView相同。
ScaleType.MATRIX:是根據一個3x3的矩陣對其中圖片進行縮放
本文同步分享在 博客“JewWang”(CSDN)。
如有侵權,請聯系 support@oschina.cn 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。