彻底记住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)方法来绘制背景。
接着会调用onDraw、dispatchDraw、onDrawForeground等方法。
src:
src是ImageView的属性,具体是android.R.styleable#ImageView_src属性,它是在onDraw方法中绘制对应的mDrawable属性的,具体调用时机在background绘制之后。
参考
The difference between SRC and background in Android _android
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END

















![[02/27][官改] Simplicity@MIX2 ROM更新-一一网](https://www.proyy.com/wp-content/uploads/2020/02/3168457341.jpg)



![[桜井宁宁]COS和泉纱雾超可爱写真福利集-一一网](https://www.proyy.com/skycj/data/images/2020-12-13/4d3cf227a85d7e79f5d6b4efb6bde3e8.jpg)
![[桜井宁宁] 爆乳奶牛少女cos写真-一一网](https://www.proyy.com/skycj/data/images/2020-12-13/d40483e126fcf567894e89c65eaca655.jpg)
