標籤:
android:scaleType可控製圖片的縮放方式,範例程式碼如下:
- <ImageView android:id="@+id/img"
- android:src="@drawable/logo"
- android:scaleType="centerInside"
- android:layout_width="60dip"
- android:layout_height="60dip"
- android:layout_centerVertical="true"/>
說明:centerInside表示按比例縮放圖片,使得圖片長 (寬)的小於等於視圖的相應維度。 注意:控制的圖片為資源而不是背景,即android:src="@drawable/logo",而非android:background="@drawable/logo",我就笨笨地犯了這個低級錯誤,導致錯怪人家scaleType不起作用。程式中動態載入圖片也類似,如:應該imgView.setImageResource(R.drawable.*); 而非imgView.setBackgroundResource(R.drawable.*);
附:更詳細的scaleType說明:
android:scaleType是控製圖片如何resized/moved來匹對ImageView的size。
ImageView.ScaleType / android:scaleType值的意義區別:
CENTER /center 按圖片的原來size置中顯示,當圖片長/寬超過View的長/寬,則截取圖片的置中部分顯示
CENTER_CROP / centerCrop 按比例擴大圖片的size置中顯示,使得圖片長(寬)等於或大於View的長(寬)
CENTER_INSIDE / centerInside 將圖片的內容完整置中顯示,通過按比例縮小或原來的size使得圖片長/寬等於或小於View的長/寬
FIT_CENTER / fitCenter 把圖片按比例擴大/縮小到View的寬度,置中顯示
FIT_END / fitEnd 把圖片按比例擴大/縮小到View的寬度,顯示在View的下部分位置
FIT_START / fitStart 把圖片按比例擴大/縮小到View的寬度,顯示在View的上部分位置
FIT_XY / fitXY 把圖片不按比例擴大/縮小到View的大小顯示
MATRIX / matrix 用矩陣來繪製,動態縮小放大圖片來顯示。
** 要注意一點,Drawable檔案夾裡面的圖片命名是不能大寫的。
Android imageView圖片按比例縮放