发现在 xxhdpi 放置的一张 1080x1920 的图片,在手机上加载后,真实的尺寸不是 1080x1920。
研究后发现
xxhdpi 是为 dpi 480 的手机准备的。如果一个 dpi 440 的手机加载 xxhdpi 的图片。宽高都会缩放,倍数是 440/480。
实例:
原图是 580x850。
加载一个宽高都是 wrap_content 的 ImageView。
在 dpi 480 的手机上,加载后的 ImageView 宽高是 580x850,即原始宽高
在 dpi 440 的手机上,加载后的 ImageView 宽高是 532x779,缩放的比例是 532/580=440/480=0.917
可以使用 adb 命令 adb shell wm density 440
来改变手机的 dpi。
测试代码见 https://github.com/Gdeeer/GdTestHub。
如果想要达到 1080 尺寸的图片加载出来就是 1080 的效果:
将其放入drawable-nodpi
目录下即可。