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

添加cardCornerRadius属性后跳转含CardView页面触发InflateException崩溃

问题根因及解决方案

根因

这个崩溃90%以上的场景是应用主题未继承MaterialComponents系列主题导致的:MaterialCardView的圆角属性依赖Material主题提供的样式实现,使用AppCompat传统主题时,加载圆角属性会触发渲染异常。

解决步骤

  • 第一步:检查你的应用主题(res/values/styles.xml或者themes.xml里的AppTheme),确认父主题是MaterialComponents系列,修改示例:
<!-- 修改前(错误) -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- 修改后(正确) -->
<style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">

如果不想全应用切换Material主题,可以单独给MaterialCardView指定主题,在布局里加android:theme="@style/Theme.MaterialComponents.Light.NoActionBar"属性即可。

  • 第二步:验证dimen配置合法性,你可以先把app:cardCornerRadius="@dimen/corner_radius_card"替换成硬编码值比如app:cardCornerRadius="8dp"测试,如果不再崩溃就是dimen定义问题:检查是否所有dimen文件夹下都定义了corner_radius_card、值是否为非负的合法尺寸。
  • 第三步:检查Material组件库版本兼容性,确保build.gradle里的material依赖版本和当前compileSdk匹配,建议升级到最新稳定版:
dependencies {
    implementation 'com.google.android.material:material:1.9.0'
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 03:24:01