如何确定适配Android drawable dp的PNG文件尺寸(API21/22)
Android API21/22启动页PNG尺寸适配方案
针对你遇到的API21/22在layer-list中使用Drawable的问题,转PNG时的尺寸和密度适配可以按以下方式处理:
- 必须为不同密度资源目录分别准备PNG:Android的密度适配机制依赖不同目录下的对应资源,只放一个文件会导致部分设备显示尺寸异常(比如你遇到的显示过大问题)。
- 正确的像素尺寸计算方式:以100dp×100dp为基准,按照各密度相对于mdpi(160dpi,基准密度)的倍数计算像素尺寸:
- mdpi:100×100 px(基准,1倍比例)
- hdpi:150×150 px(1.5倍比例)
- xhdpi:200×200 px(2倍比例)
- xxhdpi:300×300 px(3倍比例)
- xxxhdpi:400×400 px(4倍比例)
- 避免混淆图片DPI属性:你之前出错的核心原因是给PNG设置了300dpi的属性,这和Android的密度适配逻辑无关。导出时只需要保证像素尺寸符合上述计算结果,然后将对应尺寸的图片放到对应的
drawable-xxx目录(比如hdpi尺寸放drawable-hdpi)即可,无需设置图片的DPI参数。 - 低密度设备(如ldpi,你提到的idp应为笔误)现在几乎绝迹,不需要额外准备资源,Android会自动缩放其他密度的资源适配。
内容的提问来源于stack exchange,提问作者user21193451
相关产品推荐
相关产品推荐

