Android ImageView Src 和Background 区别
之前使用Glide的时候被ImageView的图片设置弄混了(很低级的问题,确是经常犯的问题),所以就去看了一下ImageView,补补基础。
首先ImageView有两个显示图片的属性,分别是src和background。从名字上看可以知道第一个是资源(画),第二个是背景(画框)。
如何设置这两个值呢?
//background mImageView.setBackground(); mImageView.setBackgroundResource(); mImageView.setBackgroundColor(); mImageView.setBackgroundDrawable(); //src mImageView.setImageResource(); mImageView.setImageDrawable(); mImageView.setImageURI();
其中设置background的4个方法中,最终都是调用了setBackgroundDrawable()这个@Deprecated的方法,额。
一些区别:
1.src存放的是原图大小,background会根据组件的大小进行拉伸。
2.src是图片的内容(画),background是图片的背景(画框),可以同时存在。
3.background可以设置透明度,src不可以。
4.scaleType只对src起作用。这篇文字解释的很清楚->ScaleType详解
5.自定义ImageView中画图的时候使用setBackgroundDrawable。如果使用setImageDrawable,需要设置setIntrinsicHeight和setIntrinsicWidth,不然不会显示的,具体原因去看看源码吧。
通过此文希望能帮助到有需要的小伙伴,谢谢大家对本站的支持!