屬性1:
adnroid:scaleType ——>控制圖片如何resized/moved來匹對 ImageView的size;
android:scaleType值的含義以及效果示意圖:
* center 按圖片本來的大小進行顯示,當圖片長/寬超過ImageView的固定長寬的時候則截取圖片居中部分顯示:
xml源碼:
<ImageView android:src="@drawable/a"
android:scaleType="centerInside"
android:background="#7FFF00"
android:layout_width="60dp"
android:layout_height="90dp" />
如圖:
1、長寬沒有超過ImageView的時候:
2、長寬超過ImageView的時候:
centercrop 按比例擴大圖片的size居中顯示,使得圖片長寬等於或大於ImageView的長(寬:並不能同時的滿足);
xml源碼:
<ImageView
android:src="@drawable/a"
android:scaleType="centerInside"
android:background="#7FFF00"
android:layout_width="200dp"
android:layout_height="300dp"
/>
centerinside 將圖片的內容完整居中顯示,通過按比例縮小或原來的size使圖片長寬等於或小於ImgeView的長(寬);
xml源碼:
<ImageView
android:src="@drawable/a"
android:scaleType="centerInside"
android:background="#7FFF00"
android:layout_width="60dp"
android:layout_height="90dp"
/>
1、 fitCenter 把圖片按比例擴大/縮小到ImageView的寬度,居中顯示:(和centerInside不同的是:fitCenter操作後只要一邊滿足要求即可;
* fitStart 把圖片按比例擴大/縮小到ImageView的寬度,顯示在上方;
xml源碼:
android:scaleType="fitCenter"
android:scaleType="fitStart"
android:scaleType="fitEnd"
matrix 用矩陣來繪製:(用途:用戶可以對圖片進行放大縮小的操作,具體代碼java中實現)
屬性2:android:adjustViewBounds –>是否保持寬高比,需要結合maxWidth、MaxHeight一起使用否則單獨使用沒有效果;
屬性3:android:maxHeight –>設置View的最大高度,單獨使用無效,需要與setAdjustView
一起配合使用;例如如果想設置圖片固定大小,又想保持圖片寬高比,
設置如下:
* 設置setAdjustViewBounds爲true;
* 設置maxWidth 、MaxHeight
* ImageView的寬度高度設爲自定義;
測試圖片參數:697*1024
測試實現:最大的高度不超過80dp;
xml源碼:
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#7FFF00"
android:src="@drawable/c"
android:adjustViewBounds="true"
android:maxHeight="80dp"
android:maxWidth="100dp"
/>
屬性4:android:src=””
設置View的drawable(如圖片,也可以是顏色,但是需要指定View的大小)
屬性5:android:tint=”” 將圖片渲染成指定的顏色,添加一個蒙版