关于Android ImageView 图片显示的几个问题

本文探讨了Android中ImageView显示图片的两个关键问题:图片存放文件夹选择及其对显示效果的影响,以及ScaleType设置对图片展示的差异。系统根据手机屏幕密度从相应dpi文件夹加载图片,并可能进行缩放。SCALE_TYPE中的CENTER_CROP保持图片比例并填充整个视图,而CENTER_INSIDE确保图片不超出视图并按比例缩放,CENTER则简单地居中显示原图大小。
摘要由CSDN通过智能技术生成

1 图片存放文件夹问题

同一张图片放在不同dpi的文件夹显示效果不同,android系统加载图片资源遵循下面的规则:首先判断手机的屏幕密度,然后在相应的密度下文件夹中查找图片资源。如果找到,则进行显示。如果找不到,则会从drawable或者其他drawable-*文件夹中寻找。找到后,将文件夹所表示的密度与手机实际密度进行比较,从而缩放图片。比如我的机器屏幕密度480dpi,用到了一张640x200的图片,这张图放在xxhdpi(480dpi)目录下得到的view高度刚好是200px,放在xhdpi(320dpi) 下得到的高度则是300px,显然是系统对图片先进行了放大。换了个320dpi的机器,放在xhdpi则刚好是200px,放到xxhdpi高度则是133px,这时候则对图片进行了缩小。

 

2 ScaleType问题

ScaleType的设置会影响图片的显示效果,但这个和图片本身没关系,其实改变的canvas的显示matrix,ImageView的内部实现使用了一个叫mDrawMatrix

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值