background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸,src是图片内容(前景),background是背景,可以同时使用

scaleType只会队src起作用,background可以设置透明度,在ImageButton中就可以使用Android:scaleType控制图片的缩放方式

控制的图片为资源而不是背景,即android:src=”@drawable/splash_bg”,而非android:background=”@drawable/splash_bg”。程序中动态加载图片也类似,如:应该imgView.setImageResource(R.drawable.);而非imgView.setBackgroundResource(R.drawable.);

scaleType说明

ImageView的scaleType有matrix(默认)、center、centerCrop、centerInside、fitCenter、fitEnd、fitStart、fitXY

  1. android:scaleType=”center”

    保持原图的大小,显示在ImageView的中心,当原图的size大于ImageView的size时,超过的部分会作裁剪处理。

  2. android:scaleType=”centerCrop”

    以填满整个ImageView为目的,将原图的中心对准ImageView的中心,等比例放大原图,直到填满ImageView为止(宽高都会填满),原图超过ImageView的部分会作裁剪处理。

  3. android:scaleType=”centerInside”

    以原图完全显示未目的,将图片的内容完整居中显示,通过按比例缩小原图的size等于或小鱼ImageView的size,如果原图的size本就小于ImageView的size,则原图的size不做任何处理,居中显示。

  4. android:scaleType=”matrix”

    不改变原图的大小,从ImageView的左上角开始绘制原图,原图超过ImageView的部分作裁剪处理。

  5. android:scaleType=”fitCenter”

    把原图按比例扩大或缩小到ImageView的高度并居中显示。

  6. android:scaleType=”fitEnd”

    把原图按比例扩大或缩小到ImageView的高度,显示在ImageView的下部分位置。

  7. android:scaleType=”fitStart”

    把原图按比例扩大或缩小到ImageView的高度,显示在ImageView的上部分位置。

  8. android:scaleType=”fitXY”

    把原图按指定的大小在View中显示,拉伸显示图片,不保持原比例,填满ImageView。