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

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

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。