ImageView的src和background的区别

时间:2021-12-21 06:12:50

参考资料:

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 用矩阵来绘制

区别效果图:

ImageView的src和background的区别 ImageView的src和background的区别

代码:

 <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的区别

ImageView的src和background的区别