一、對比顯示ScaleType的不同效果
二、使用嵌套LinearLayout爲每一張ImageView添加文字說明
三、ScaleType的8個屬性簡要說明:
1.scaleType=“matrix”
是保持原圖大小、從左上角的點開始,以矩陣形式繪圖。
2.scaleType=“fitXY”
不按比例縮放圖片,目標是把圖片塞滿整個View。
3.scaleType=“fitStart”
是將原圖沿左上角的點(即matrix方式繪圖開始的點),按比例縮放原圖繪製而成的。
4.scaleType=“fitCenter”
是將原圖沿上方居中的點(即matrix方式繪圖第一行的居中的點),按比例縮放原圖繪製而成的。
5.scaleType=“fitEnd”
是將原圖沿下方居中的點(即matrix方式繪圖最後一行的居中的點),按比例縮放原圖繪製而成的。
6.scaleType=“Center”
是保持原圖大小,以原圖的幾何中心點和ImagView的幾何中心點爲基準,只繪製ImagView大小的圖像。
7.scaleType=“centerCrop”
不保持原圖大小,以原圖的幾何中心點和ImagView的幾何中心點爲基準,只繪製ImagView大小的圖像(以填滿ImagView爲目標,對原圖進行裁剪)。
3.scaleType=“centerInside”
不保持原圖大小,以原圖的幾何中心點和ImagView的幾何中心點爲基準,只繪製ImagView大小的圖像(以顯示完整圖片爲目標,對原圖進行縮放)。
四、設置方法java:
使用setImageResource()設置使用的圖片
使用setScaleType()設置圖片拉伸屬性
xml:
使用android:src="" 設置使用的圖片
使用android:scaleType=""設置圖片拉伸屬性
先看原始圖片:
效果圖:
xml代碼:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/field"
android:orientation="vertical"
tools:context=".MainActivity" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginRight="5dp" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="matrix"
android:textColor="#ff00ff" />
<ImageView
android:id="@+id/imageViewId"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="#f0f0f0"
android:scaleType="matrix"
android:src="@drawable/zhl" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginRight="5dp" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="fitXY"
android:textColor="#ff00ff" />
<ImageView
android:id="@+id/imageViewId"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="#f0f0f0"
android:scaleType="fitXY"
android:src="@drawable/zhl" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginRight="5dp" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="fitStart"
android:textColor="#ff00ff" />
<ImageView
android:id="@+id/imageViewId"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="#f0f0f0"
android:scaleType="fitStart"
android:src="@drawable/zhl" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginRight="5dp" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="fitCenter"
android:textColor="#ff00ff" />
<ImageView
android:id="@+id/imageViewId"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="#f0f0f0"
android:scaleType="fitCenter"
android:src="@drawable/zhl" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginRight="5dp" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="fitEnd"
android:textColor="#ff00ff" />
<ImageView
android:id="@+id/imageViewId"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="#f0f0f0"
android:scaleType="fitEnd"
android:src="@drawable/zhl" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginRight="5dp" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="center"
android:textColor="#ff00ff" />
<ImageView
android:id="@+id/imageViewId"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="#f0f0f0"
android:scaleType="center"
android:src="@drawable/zhl" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginRight="5dp" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="centerCrop"
android:textColor="#ff00ff" />
<ImageView
android:id="@+id/imageViewId"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="#f0f0f0"
android:scaleType="centerCrop"
android:src="@drawable/zhl" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginRight="5dp" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="centerInside"
android:textColor="#ff00ff" />
<ImageView
android:id="@+id/imageViewId"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="#f0f0f0"
android:scaleType="centerInside"
android:src="@drawable/zhl" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
參考:點擊打開鏈接