ImageView的ScaleType属性设置

一、对比显示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代码:

[html]  view plain copy print ?
  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     xmlns:tools="http://schemas.android.com/tools"  
  3.     android:layout_width="match_parent"  
  4.     android:layout_height="match_parent"  
  5.     android:background="@drawable/field"  
  6.     android:orientation="vertical"  
  7.     tools:context=".MainActivity" >  
  8.   
  9.     <LinearLayout   
  10.         android:layout_width="wrap_content"  
  11.         android:layout_height="wrap_content"  
  12.         android:orientation="horizontal" >  
  13.   
  14.         <LinearLayout  
  15.             android:layout_width="wrap_content"  
  16.             android:layout_height="wrap_content"  
  17.             android:orientation="vertical"  
  18.             android:layout_marginRight="5dp" >  
  19.   
  20.             <TextView  
  21.                 android:layout_width="wrap_content"  
  22.                 android:layout_height="wrap_content"  
  23.                 android:text="matrix"  
  24.                 android:textColor="#ff00ff" />  
  25.   
  26.             <ImageView  
  27.                 android:id="@+id/imageViewId"  
  28.                 android:layout_width="100dp"  
  29.                 android:layout_height="100dp"  
  30.                 android:background="#f0f0f0"  
  31.                 android:scaleType="matrix"  
  32.                 android:src="@drawable/zhl" />  
  33.         </LinearLayout>  
  34.   
  35.         <LinearLayout  
  36.             android:layout_width="wrap_content"  
  37.             android:layout_height="wrap_content"  
  38.             android:orientation="vertical"  
  39.             android:layout_marginRight="5dp" >  
  40.   
  41.             <TextView  
  42.                 android:layout_width="wrap_content"  
  43.                 android:layout_height="wrap_content"  
  44.                 android:text="fitXY"  
  45.                 android:textColor="#ff00ff" />  
  46.   
  47.             <ImageView  
  48.                 android:id="@+id/imageViewId"  
  49.                 android:layout_width="100dp"  
  50.                 android:layout_height="100dp"  
  51.                 android:background="#f0f0f0"  
  52.                 android:scaleType="fitXY"  
  53.                 android:src="@drawable/zhl" />  
  54.         </LinearLayout>  
  55.   
  56.         <LinearLayout  
  57.             android:layout_width="wrap_content"  
  58.             android:layout_height="wrap_content"  
  59.             android:orientation="vertical"  
  60.             android:layout_marginRight="5dp" >  
  61.   
  62.             <TextView  
  63.                 android:layout_width="wrap_content"  
  64.                 android:layout_height="wrap_content"  
  65.                 android:text="fitStart"  
  66.                 android:textColor="#ff00ff" />  
  67.   
  68.             <ImageView  
  69.                 android:id="@+id/imageViewId"  
  70.                 android:layout_width="100dp"  
  71.                 android:layout_height="100dp"  
  72.                 android:background="#f0f0f0"  
  73.                 android:scaleType="fitStart"  
  74.                 android:src="@drawable/zhl" />  
  75.         </LinearLayout>  
  76.     </LinearLayout>  
  77.   
  78.     <LinearLayout  
  79.         android:layout_width="wrap_content"  
  80.         android:layout_height="wrap_content"  
  81.         android:orientation="horizontal" >  
  82.   
  83.         <LinearLayout  
  84.             android:layout_width="wrap_content"  
  85.             android:layout_height="wrap_content"  
  86.             android:orientation="vertical"  
  87.             android:layout_marginRight="5dp" >  
  88.   
  89.             <TextView  
  90.                 android:layout_width="wrap_content"  
  91.                 android:layout_height="wrap_content"  
  92.                 android:text="fitCenter"  
  93.                 android:textColor="#ff00ff" />  
  94.   
  95.             <ImageView  
  96.                 android:id="@+id/imageViewId"  
  97.                 android:layout_width="100dp"  
  98.                 android:layout_height="100dp"  
  99.                 android:background="#f0f0f0"  
  100.                 android:scaleType="fitCenter"  
  101.                 android:src="@drawable/zhl" />  
  102.         </LinearLayout>  
  103.   
  104.         <LinearLayout  
  105.             android:layout_width="wrap_content"  
  106.             android:layout_height="wrap_content"  
  107.             android:orientation="vertical"  
  108.             android:layout_marginRight="5dp" >  
  109.   
  110.             <TextView  
  111.                 android:layout_width="wrap_content"  
  112.                 android:layout_height="wrap_content"  
  113.                 android:text="fitEnd"  
  114.                 android:textColor="#ff00ff" />  
  115.   
  116.             <ImageView  
  117.                 android:id="@+id/imageViewId"  
  118.                 android:layout_width="100dp"  
  119.                 android:layout_height="100dp"  
  120.                 android:background="#f0f0f0"  
  121.                 android:scaleType="fitEnd"  
  122.                 android:src="@drawable/zhl" />  
  123.         </LinearLayout>  
  124.   
  125.         <LinearLayout  
  126.             android:layout_width="wrap_content"  
  127.             android:layout_height="wrap_content"  
  128.             android:orientation="vertical"  
  129.             android:layout_marginRight="5dp" >  
  130.   
  131.             <TextView  
  132.                 android:layout_width="wrap_content"  
  133.                 android:layout_height="wrap_content"  
  134.                 android:text="center"  
  135.                 android:textColor="#ff00ff" />  
  136.   
  137.             <ImageView  
  138.                 android:id="@+id/imageViewId"  
  139.                 android:layout_width="100dp"  
  140.                 android:layout_height="100dp"  
  141.                 android:background="#f0f0f0"  
  142.                 android:scaleType="center"  
  143.                 android:src="@drawable/zhl" />  
  144.         </LinearLayout>  
  145.     </LinearLayout>  
  146.   
  147.     <LinearLayout  
  148.         android:layout_width="wrap_content"  
  149.         android:layout_height="wrap_content"  
  150.         android:orientation="horizontal" >  
  151.   
  152.         <LinearLayout  
  153.             android:layout_width="wrap_content"  
  154.             android:layout_height="wrap_content"  
  155.             android:orientation="vertical"  
  156.             android:layout_marginRight="5dp" >  
  157.   
  158.             <TextView  
  159.                 android:layout_width="wrap_content"  
  160.                 android:layout_height="wrap_content"  
  161.                 android:text="centerCrop"  
  162.                 android:textColor="#ff00ff" />  
  163.   
  164.             <ImageView  
  165.                 android:id="@+id/imageViewId"  
  166.                 android:layout_width="100dp"  
  167.                 android:layout_height="100dp"  
  168.                 android:background="#f0f0f0"  
  169.                 android:scaleType="centerCrop"  
  170.                 android:src="@drawable/zhl" />  
  171.         </LinearLayout>  
  172.   
  173.         <LinearLayout  
  174.             android:layout_width="wrap_content"  
  175.             android:layout_height="wrap_content"  
  176.             android:orientation="vertical"  
  177.             android:layout_marginRight="5dp" >  
  178.   
  179.             <TextView  
  180.                 android:layout_width="wrap_content"  
  181.                 android:layout_height="wrap_content"  
  182.                 android:text="centerInside"  
  183.                 android:textColor="#ff00ff" />  
  184.   
  185.             <ImageView  
  186.                 android:id="@+id/imageViewId"  
  187.                 android:layout_width="100dp"  
  188.                 android:layout_height="100dp"  
  189.                 android:background="#f0f0f0"  
  190.                 android:scaleType="centerInside"  
  191.                 android:src="@drawable/zhl" />  
  192.         </LinearLayout>  
  193.     </LinearLayout>  
  194.   
  195. </LinearLayout>  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值