Android基础篇 AppCompatImageView中设置src和background的区别
Posted 彭老希
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android基础篇 AppCompatImageView中设置src和background的区别相关的知识,希望对你有一定的参考价值。
AppCompatImageView中的background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸。src是图片内容(
前景
),background是背景
,可以同时使用。
一、XML布局设置
(1)设置src
<androidx.appcompat.widget.AppCompatImageView
android:src="@mipmap/ic_launcher"
android:layout_width="300dp"
android:layout_height="200dp"/>
src 【前景】 效果图
(2)设置background,在src的基础上添加了background(背景)
<androidx.appcompat.widget.AppCompatImageView
android:background="@color/colorPrimary"
android:src="@mipmap/ic_launcher"
android:layout_width="300dp"
android:layout_height="200dp"/>
background(背景)效果图
橘黄色的框圈住的部分是background(背景)的实际覆盖范围,但因为还设置了前景的src部分,红色框部分遮挡了一部分背景的颜色。在实际开发中,我们可以通过src设置我们Adapter中的Item,background设置我们item选中效果的背景色选中状态框。
二、代码设置
(一)设置src(前景)
img_speed.setImageResource();
img_speed.setImageBitmap();
img_speed.setImageDrawable();
img_speed.setImageURI();
(二)设置Background(背景)
img_speed.setBackgroundResource();
img_speed.setBackground();
img_speed.setBackgroundDrawable();
img_speed.setBackgroundColor();
三、概念理解
在Android 6及以前的系统中,可以认为:
1、background是作为背景显示的,而src是作为内容填充显示的,可以被认为是前景。
2、background可以为控件设置图片或者颜色,设置的大小时match_parent 或者固定值时,该图片将会被拉伸以填充满整个控件.如果设置成wrap_content 时,则会显示原本的大小.上面的实例中,我们设置了 的长宽,因此该图片将会以填充的方式显示。
3、如果background设置为颜色值,那么整个区域都会被该颜色值填充。当仅仅设置了背景颜色而没有设置src,且宽或者高被设置为wrap_content时,则该View将不会显示。
4、使用background添加背景资源时,所添加的背景能够充满整个控件的大小,如果当前使用的资源不能够满足控件大小时,将会把当前资源自动进行拉伸以满足添加背景资源的需要。但是在使用src填充是,如果填充的资源没有固定的大小,那么src将会按照自己的方式将整个控件占满,不会考虑多层叠加的效果
以上是关于Android基础篇 AppCompatImageView中设置src和background的区别的主要内容,如果未能解决你的问题,请参考以下文章