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

Kotlin创建简单Button时出现Error inflating class Button错误求助

Error inflating class Button 问题排查与解决

原因1:动态颜色引用不兼容

你用的@color/material_dynamic_neutral20是Material 3的动态主题颜色,仅Android 12及以上系统支持,且项目必须配置Material 3环境才能正常识别。如果项目未启用Material 3,或运行设备系统版本低于Android 12,就会找不到该颜色,导致Button膨胀失败。

解决办法:

  • 替换为静态颜色:比如改为@android:color/darker_gray,或在res/values/colors.xml中自定义颜色后引用(如@color/my_gray)
  • 若要保留动态颜色,需先配置Material 3:
    1. 打开模块级build.gradle,添加Material 3依赖:
      implementation 'com.google.android.material:material:1.9.0'
      
    2. 修改res/values/styles.xml中的应用主题,使其继承Material 3主题:
      <style name="Theme.Clapp" parent="Theme.Material3.DayNight.NoActionBar">
          <!-- 其他主题配置项 -->
      </style>
      

原因2:布局文件存在隐性错误

错误指向Button所在行,可能是布局包含隐形字符、根布局缺失app命名空间,或父布局未正确闭合。

解决办法:

  • 检查根布局(如ConstraintLayout)是否添加了app命名空间:
    xmlns:app="http://schemas.android.com/apk/res-auto"
    
  • 执行Build > Clean Project后再Rebuild Project,清除缓存引发的异常
  • 删除当前Button,手动重新编写代码,避免复制粘贴带入隐形字符

原因3:资源文件损坏

项目中的colors.xml或布局文件本身可能存在语法错误,导致系统解析失败。

解决办法:

  • 打开res/values/colors.xml检查,确保所有颜色标签闭合、颜色值格式正确(如#FF0000)
  • 新建空白布局,仅放入该Button测试,排除其他布局元素的干扰

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 21:15:36