Drawable分辨率适配

问题

定义了不同的drawable-***dpi的文件夹,但只在其中某些里面放置了图片,比如在drawable-xhdpi里放置了图片,其他的文件夹里没有放置图片,那么非xhdpi的设配如何适配图片资源?如何定位图片以及如何显示?

图片选择规则

当前->高分辨率->低分辨率。

  • 先找当前分辨率的drawable文件夹,没有则进行下一步;

  • 向上寻找高于当前分辨率的drawable文件夹,没有则进行下一步;

  • 向下寻找低于当前分辨率的drawable文件夹。没有?不可能通过编译。

图片显示缩放规则

设备上显示的图片尺寸 =(设配分辨率 / 适配图片定义分辨率)* 适配图片尺寸。

示例。图片尺寸为144x144,位于drawalbe-xxhdpi/ic_wechat,在Nexus 6(1440 x 2560, 560dpi)显示尺寸为168 x 168,即 (560/480)* 144。

Android Developer Guide对此语焉不详,以上结论来自我的实践,可写DEMO验证。

另外,mipmap资源适配规则与drawable资源保持一致。


参考


注:文章首发简书和我的个人博客永恒的码流


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容