参考资料:

http://blog.csdn.net/dalleny/article/details/14048375

http://www.android100.org/html/201508/27/177067.html

区别如下:

1、  background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸,如果想要对src进行拉伸的话,使用android:scaleType

2、  src是图片内容(前景),bg是背景,可以同时使用。

3、  此外:scaleType只对src起作用;bg可设置透明度

4、  Src对应的Java代码是:imgView.setImageResource(R.drawable.*)

Background对应的Java代码是:imgView.setBackgroundResource(R.drawable.*);

5、  scaleType说明

CENTER /center 在视图中心显示图片,并且不缩放图片

CENTER_CROP / centerCrop 按比例缩放图片,使得图片长 (宽)的大于等于视图的相应维度

CENTER_INSIDE / centerInside 按比例缩放图片,使得图片长 (宽)的小于等于视图的相应维度

FIT_CENTER / fitCenter 按比例缩放图片到视图的最小边,居中显示

FIT_END / fitEnd 按比例缩放图片到视图的最小边,显示在视图的下部分位置

FIT_START / fitStart 把图片按比例扩大/缩小到视图的最小边,显示在视图的上部分位置

FIT_XY / fitXY 把图片不按比例缩放到视图的大小显示

MATRIX / matrix 用矩阵来绘制

区别效果图:

 

代码:

 <ScrollView 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="#00000000"
android:scrollbars="vertical"
tools:context="com.example.imageviewsrcandbg.MainActivity" > <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" > <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1、ImageViewd的src和background的区别:" /> <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="(1)background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸。如果想要对src进行拉伸的话,使用android:scaleType" />
<!-- =============================================================== -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="(1.1)固定的宽高(100*60)ImageView控件background,图片是66" /> <!-- 固定的宽高ImageView控件 --> <ImageView
android:layout_width="100dp"
android:layout_height="60dp"
android:background="@drawable/load_circle" />
<!-- =============================================================== -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="(1.2)固定的宽高(100*60)ImageView控件src,图片是66" /> <!-- 固定的宽高ImageView控件 --> <ImageView
android:layout_width="100dp"
android:layout_height="60dp"
android:src="@drawable/load_circle" />
<!-- =============================================================== -->
<!-- src和background的结合使用 --> <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="(2)固定的宽高(100*60)ImageView控件src是图片内容(前景),bg是背景,可以同时使用。" />
<!-- 固定的宽高ImageView控件 --> <ImageView
android:layout_width="100dp"
android:layout_height="60dp"
android:background="@drawable/load_circle"
android:src="@drawable/load_logo" />
<!-- =============================================================== -->
<!-- src的拉伸:scaleType --> <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="(3)scaleType只对src起作用,对src进行拉伸(固定的宽高(100*60)ImageView控件)" /> <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="(3.1)CENTER /center 在视图中心显示图片,并且不缩放图片" /> <!-- 固定的宽高ImageView控件 -->
<ImageView
android:layout_width="100dp"
android:layout_height="60dp"
android:src="@drawable/load_circle"
android:scaleType="center"
/>
<!-- =============================================================== -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="(3.2)CENTER_CROP / centerCrop 按比例缩放图片,使得图片长 (宽)的大于等于视图的相应维度" /> <!-- 固定的宽高ImageView控件 -->
<ImageView
android:layout_width="100dp"
android:layout_height="60dp"
android:src="@drawable/load_circle"
android:scaleType="centerCrop"
/>
<!-- =============================================================== -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="(3.3)CENTER_INSIDE / centerInside 按比例缩放图片,使得图片长 (宽)的小于等于视图的相应维度" /> <!-- 固定的宽高ImageView控件 -->
<ImageView
android:layout_width="100dp"
android:layout_height="60dp"
android:src="@drawable/load_circle"
android:scaleType="centerInside"
/>
<!-- =============================================================== -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="(3.4)FIT_CENTER / fitCenter 按比例缩放图片到视图的最小边,居中显示" /> <!-- 固定的宽高ImageView控件 -->
<ImageView
android:layout_width="100dp"
android:layout_height="60dp"
android:src="@drawable/load_circle"
android:scaleType="fitCenter"
/>
<!-- =============================================================== -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="(3.5)FIT_END / fitEnd 按比例缩放图片到视图的最小边,显示在视图的下部分位置——短边的下面或者右面" /> <!-- 固定的宽高ImageView控件 -->
<ImageView
android:layout_width="100dp"
android:layout_height="60dp"
android:src="@drawable/load_circle"
android:scaleType="fitEnd"
/>
<!-- =============================================================== -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="(3.6)FIT_START / fitStart 把图片按比例扩大/缩小到视图的最小边,显示在视图的上部分位置——短边的上面或者左面" /> <!-- 固定的宽高ImageView控件 -->
<ImageView
android:layout_width="100dp"
android:layout_height="60dp"
android:src="@drawable/load_circle"
android:scaleType="fitStart"
/>
<!-- =============================================================== -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="(3.7)FIT_XY / fitXY 把图片不按比例缩放到视图的大小显示——类似background" /> <!-- 固定的宽高ImageView控件 -->
<ImageView
android:layout_width="100dp"
android:layout_height="60dp"
android:src="@drawable/load_circle"
android:scaleType="fitXY"
/>
<!-- =============================================================== -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="(3.8)MATRIX / matrix 用矩阵来绘制——左上角开始绘制" /> <!-- 固定的宽高ImageView控件 -->
<ImageView
android:layout_width="100dp"
android:layout_height="60dp"
android:src="@drawable/load_circle"
android:scaleType="matrix"
/>
</LinearLayout> </ScrollView>

activity_mian.xml

 素材(采用的是京东的loading图片):

ImageView的src和background的区别的更多相关文章

  1. 【android】ImageView的src和background的区别以及两者的妙用

    一.ImageView中XML属性src和background的区别: background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸 .src是图片内 ...

  2. android imageview使用的时候 引用资源src和background的区别

    android imageview使用的时候 引用资源时src和background的区别 src更强调内容并且不行拉伸图片进行适配,而background更注重引用图片,会对图片进行拉伸

  3. ImageView的src与background及ScaleType

    1 概述 开发中经常使用Imageview的src和background属性,从字面上看src是路径,background是背景.二者都可以显示drawable或者颜色.设置drawable图片资源时 ...

  4. 【android】ImageView的src和background以及两者之间的神奇的差异

    一.ImageView中XML属性src和background的差别: background会依据ImageView组件给定的长宽进行拉伸.而src就存放的是原图的大小,不会进行拉伸.src是图片内容 ...

  5. Android 代码里设置ImageView的src和background

    设置ImageView的src: image.setImageDrawable(getResources().getDrawable(R.drawable.blackk)); String path= ...

  6. ImageView中XML属性src和background的区别

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

  7. 【Android 界面效果32】ImageView中XML属性src和background的区别

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

  8. [android界面]android中src和background区别——前景与背景

    ImageView中XML属性src和background的区别: background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸.src是图片内容(前 ...

  9. [转]android中OnTouch和OnClick、 imagebutton的src和background有什么区别

    1.OnTouch和OnClick有何区别?   专业回答 1.onClick就传入一个View对象,而 onTouch要传入一个View 对象和 MotionEvent的对象2.onTouch对控件 ...

随机推荐

  1. #elif

    http://baike.sogou.com/v72031124.htm?fromTitle=%23elif #else指令用于某个#if指令之后,当前面的#if指令的条件不为真时,就编译#else后 ...

  2. CentOS_6.5 64位系统,安装git服务器+客户端

    ================ git服务器安装 ==================== CentOS安装Git服务器 Centos 6.4 + Git 1.8.2.2 + gitosis## . ...

  3. HDU 3687 National Day Parade (暴力)

    题意:给定 n 个人,在 n 列,问你移动最少的距离,使得他们形成一个n*n的矩阵. 析:这个题本来是要找中位数的,但是有特殊情况,所以改成暴力了,时间也很短,就是从第一个能够放左角的位置开始找,取最 ...

  4. CodeForces 706C Hard problem (水DP)

    题意:对于给定的n个字符串,可以花费a[i]  将其倒序,问是否可以将其排成从大到小的字典序,且花费最小是多少. 析:很明显的水DP,如果不是水DP,我也不会做.... 这个就要二维,d[2][max ...

  5. mac 下对 iterm 终端 设置代理

    vi .profile export http_prox="http://xxxx:port" export https_proxy="http://xxxx:port& ...

  6. sql的存储过程调用

    USE [ChangHong_612]GO/****** Object: StoredProcedure [dbo].[st_MES_GetCodeRule] Script Date: 09/10/2 ...

  7. usr/bin/ld: cannot find 错误解决方法

    参考:http://blog.siyebocai.cn/20100324_5p424qs7.html 通常在软件编译时出现的usr/bin/ld: cannot find -lxxx的错误,主要的原因 ...

  8. MEF 编程指南(四):声明导入

    组合部件通过 [System.ComponentModel.Composition.ImportAttribute] 特性声明导入.类似于导出,也有几种不同的方法声明导入,即通过:字段(Fields) ...

  9. StructureMap 学习笔记(1)

    前言 一个偶然的机会接触到了StructureMap,当时客户要求让程序具有较好的测试性,自然而然就想到了IOC 容器. 之后就去Google了一下, 不经意间在StackOverFlow找到一篇帖子 ...

  10. Swift学习笔记二

    Swift是苹果公司开发的一门新语言,它当然具备面向对象的许多特性,现在开始介绍Swift中类和对象的语法. 对象和类 用"class"加上类名字来创建一个类,属性声明和声明常量或 ...