Kotlin创建简单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:
- 打开模块级
build.gradle,添加Material 3依赖:implementation 'com.google.android.material:material:1.9.0' - 修改
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
相关产品推荐
相关产品推荐

