我正在将应用程序更新到 Material Design 3,我将从
com.google.android.material:material:1.5.0-alpha01
androidx.appcompat:appcompat:1.3.1
到
androidx.compose.material3:material3:1.2.1
androidx.appcompat:appcompat:1.6.1
而且我遇到了奇怪的问题,即我希望应用程序“崩溃”,因为主题和样式引用
Theme.MaterialComponents.NoActionBar
等而不是Theme.Material3
。但是当我尝试引用 Theme.Material3
IDE/gradle 构建无法识别该组件。
那么当我删除之前的依赖项时,为什么之前的材质实现没有中断?
我尝试使缓存无效并重新启动等。应用程序仍然可以构建,我可以在我的设备上运行它,就好像没有任何改变一样,所以我认为依赖项从来没有被 gradle 首先拾取,但使缓存无效并且
rm
缓存没有提供任何帮助。我也尝试删除 appcompat 但这并没有改变任何东西,这同样应该破坏我认为的很多东西。
androidx.compose.material3:material3:1.2.1
不是 与您当前实际使用的内容有很大关系 - 这是 Jetpack Compose(UI 的声明式方法)实现了 Material3 规范。如果您不打算使用 Compose,则应该坚持使用 com.google.android.material:material
,只需更新以使用最新版本即可。
Material3
主题首次在1.5.0中引入,但您最好使用最新的稳定版本,截至撰写本文时为1.11.0:
implementation("com.google.android.material:material:1.11.0") // Or set via Gradle Version Catalogs