You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android drawable-dpi文件夹下的图片无法按分辨率适配加载

Android drawable密度适配异常问题解决方案

问题根因

首先明确两个核心逻辑:

  • 无任何限定符的默认drawable文件夹优先级高于带dpi限定的同类型文件夹,且系统会默认将该文件夹下的位图资源标记为mdpi密度,只要该文件夹下存在同名图片,系统会直接复用该资源,不会再去匹配对应dpi文件夹的版本,这是放入默认文件夹后无法自动适配的核心原因。
  • 不带限定符的drawable文件夹本身就不应该存放需要密度适配的位图资源,仅用来存放矢量图、xml形状这类无需密度适配的通用drawable资源即可。

排查&解决步骤

  • 首先删除默认drawable文件夹下的对应位图文件,不要在此处存放需要适配的位图资源。
  • 核对所有dpi文件夹下的图片文件名,必须完全一致,Android资源名称大小写敏感,仅支持小写英文字母、数字、下划线,禁止使用空格、特殊字符、大写字母。
  • 核对dpi文件夹命名是否符合官方规范,正确命名为drawable-ldpi/drawable-mdpi/drawable-hdpi/drawable-xhdpi/drawable-xxhdpi/drawable-xxxhdpi,不能出现拼写错误、漏写横杠的问题。
  • 清理项目编译缓存:Android Studio中执行File → Invalidate Caches...,选择无效并重启IDE后重新构建项目,排除缓存导致的资源未识别问题。

额外优化建议

如果你的项目minSdkVersion >= 21,优先使用矢量图VectorDrawable替代多套位图资源,仅需一套矢量文件即可适配所有屏幕密度,既不会出现适配异常问题,也能显著减少安装包体积。


内容的提问来源于stack exchange,提问作者Sankarann

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 15:27:02