欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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,不然不会显示的,具体原因去看看源码吧。

通过此文希望能帮助到有需要的小伙伴,谢谢大家对本站的支持!