彻底记住ImageView的background和src的区别

简介: 彻底记住ImageView的background和src的区别

彻底记住ImageView的background和src的区别

示例代码

<ImageView
    android:id="@+id/iv"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/ic_launcher"
    android:src="@drawable/ic_launcher" />

区别:

①background会根据ImageView控件的宽高,拉伸Drawable;src会保持Image的尺寸
②background是背景,src是内容(foreground),他们可以同时存在。
③ScaleType只会作用在src上面。

background:

background是View的属性,具体是android.R.styleable#View_background属性,它的生效时机是View#draw(Canvas canvas)方法。
View#draw(Canvas canvas)方法中,会先调用View#drawBackground(Canvas canvas)方法来绘制背景。
接着会调用onDrawdispatchDrawonDrawForeground等方法。

src:

src是ImageView的属性,具体是android.R.styleable#ImageView_src属性,它是在onDraw方法中绘制对应的mDrawable属性的,具体调用时机在background绘制之后。

参考

The difference between SRC and background in Android _android

相关文章
|
2月前
|
XML 存储 编解码
svg的viewBox、width和height的设置说明
svg的是没有边界的,svg画布只是用于展示svg世界中某一个范围的内容,而对于超过了svg画布范围的内容,则会被遮挡。默认svg画布默认显示世界坐标下原点坐标的width*height面积的矩形视野。
|
11月前
|
Android开发
Android Button 设置 android:background=“@drawable/xxx“ 无效
Android Button 设置 android:background=“@drawable/xxx“ 无效
126 0
|
XML Android开发 数据格式
Android ImageView的src和background的区别、padding的使用技巧
Android ImageView的src和background的区别、padding的使用技巧
287 0
|
Web App开发 前端开发
给Img标签设置height和width属性
给Img标签设置height和width属性
589 0
ImageView background和src的区别
在用到ImageView设置背景选择器的时候,要用. setImageResource ()。(对应布局的src属性),这样图片有多大就显示多大,用background将会拉伸图片适应宽高。
621 0
|
Web App开发 前端开发 容器
CSS background-color 、image 背景图片
背景颜色 background-color 语法: background-color: 默认值:transparent  透明 适用于:所有元素 继承性:无 动画性:是 计算值:指定值   取值: : 指定颜色。
989 0
|
XML Java Android开发
Drawable解析3——LayerDrawable、TransitionDrawable、NinePatchDrawable和LevelListDrawabl
1、前两节我们已经说了8个Drawable了,本节继续,第一个,LayerDrawable,表示层图形对象。LayerDrawable用于管理一组drawable,每个drawable处于不同的层,当绘制时会按照顺序将其全部绘制到画布上。
1049 0