Android ImageView Src 和Background 区别
程序员文章站
2024-03-05 23:57:43
之前使用glide的时候被imageview的图片设置弄混了(很低级的问题,确是经常犯的问题),所以就去看了一下imageview,补补基础。
首先imageview有两...
之前使用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,不然不会显示的,具体原因去看看源码吧。
通过此文希望能帮助到有需要的小伙伴,谢谢大家对本站的支持!
推荐阅读