Android中的ImageView和ImageButton

初学者一定会遇到ImageView和ImageButton的选择问题,小博老师来大家一起探究一下它们两者的区别。

项目中使用到了ImageButton,但是给图片设置具体尺寸后发现还是原来的大小,后来将ImageButton变成ImageView就可以了。首先我们从源码的角度来看一下两者的区别。

6632126595399341685.png

我们来分析一下几种不同情况下两者之间的差别

1、两者均不设置具体的宽高。

其显示效果没有什么差别。

2、设置了具体的宽高。

ImageView会按照具体的宽高尺寸发生变化,但是ImageButton只会显示图片的原始像素大小。如果给ImageButton设置了scaleType属性就可以达成ImageView的效果,但是图片会失真。

3、设置背景选择器。

ImageView要想使选择器效果生效,需要让控件获得焦点。需要加上:android:clickable=true;

ImageButton就不需要处理,因为在源码中ImageButton的构造函数中已经设置过了setFocusable(true)。

4、设置background无具体宽高。

效果一样。

5、设置background有具体宽高。

效果一样。与src不同的是,两者均随着具体宽高发生改变。

 

 

转载于:https://my.oschina.net/u/2971691/blog/879238

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值