【Android】ImageView的maxWidth,maxHeight的使用

本文探讨了在Android中如何使用ImageView的maxWidth和maxHeight属性来限制图片显示尺寸,以防图片越界。通过分析ImageView和ImageLoader的源码,揭示了maxWidth和maxHeight在什么条件下生效,并解释了为何使用ImageLoader加载网络图片时,即使原始图片尺寸超过限制,也能正确显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、背景

浏览器的首页有个活动banner的功能,该区域会显示一张活动图片,视效设计要求图片的最大尺寸为:width:height = 134dp:64dp;所以,为了满足这个需求,需要使用ImageView的 maxWidth,maxHeight属性;在使用的过程中,如果直接调用imageView.setImageBitmap()设置一张width很大的图片,图片显示就会越界;但是如果用开源框架ImageLoader来加载一个网络的图片资源,尽管服务器配置的图片width很大,但是显示时候也没有越界。

二、ImageView的源码

查看ImageVIew中使用 maxWidth与maxHeight的地方,可以看到在onMeasure的方法有使用,代码如下:
在这里插入图片描述
该代码执行,需要满足 resizeWidth 或者 resizeHeight,此两个变量默认为false,所以,找其赋值的地方如下:
在这里插入图片描述
由此可见,使得

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值