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