一、对比显示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>
参考:点击打开链接