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

设置Drawable为ImageView的src时出现InflateException异常求助

解决ImageView设置Drawable为src时的Inflate错误

这种只在设置src属性时触发的XML Inflate问题我碰到过好几次,给你几个针对性的排查和解决方向:

  • Vector Drawable兼容性问题
    如果你的Drawable是矢量图(.xml格式),在Android 5.0(API 21)以下设备直接用android:src会触发报错。解决办法:

    1. 在app模块的build.gradle里添加配置:
      android {
          defaultConfig {
              vectorDrawables.useSupportLibrary = true
          }
      }
      
    2. XML里改用app:srcCompat替代android:src,或者把普通ImageView换成AppCompatImageView。
  • Drawable资源本身的问题

    • 检查资源文件名:必须是小写字母、数字、下划线或点,不能有大写或特殊字符,否则系统无法正确识别。
    • 检查资源目录:如果是放在drawable-vXX目录下的资源,要确保运行设备的系统版本不低于该版本,否则会找不到资源导致Inflate失败。
    • 检查Drawable格式:比如.9.png有没有制作错误,或者图片分辨率过高导致内存溢出。
  • ImageView属性冲突
    检查XML第76行的ImageView有没有设置不合适的scaleType或尺寸属性,比如给小尺寸ImageView设置了超大分辨率的Drawable,或者scaleType和Drawable类型不兼容(比如给.9.png用centerCrop)。

  • 代码加载方式问题
    如果是在代码中设置src,别用过时的getResources().getDrawable(),改用ContextCompat.getDrawable(context, R.drawable.your_drawable),它会自动处理不同系统版本的兼容性。

附上你的报错信息以便参考:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.backgrounds.test/com.backgrounds.test.activities.PointsActivity}: android.view.InflateException: Binary XML file line #76: Binary XML file line #76: Error inflating class ImageView
Caused by: android.view.InflateException: Binary XML file line #76: Binary XML file line #76: Error inflating class ImageView
Caused by: android.view.I...

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:17:52