升级Compose Multiplatform 1.9.0-beta03后CircularWavyProgressIndicator及ButtonDefaults.MediumContainerHeight无法访问
嘿,我看了你的问题和依赖配置,发现几个关键问题,帮你一步步解决:
1. 先修复版本不匹配的核心问题
你说已经把Material3升级到了1.9.0-beta03,但你的libs.versions.toml里material3的版本还是1.9.0-alpha04,这直接导致依赖版本不对齐,肯定会出现API找不到的情况!
先把libs.versions.toml里的material3版本改成和Compose Multiplatform Plugin一致的版本:
[versions] # ... 其他版本保持不变 material3 = "1.9.0-beta03"
改完后记得同步你的Gradle项目,确保依赖正确拉取。
2. 解决CircularWavyProgressIndicator无法访问的问题
在Compose Material3 1.9.0-beta03中,这个进度指示器属于实验性API,默认不开放访问,你需要做两步:
- 首先,在使用这个组件的函数或文件顶部添加实验性API的注解:
import org.jetbrains.compose.material3.experimental.ExperimentalMaterial3Api @OptIn(ExperimentalMaterial3Api::class) fun YourTargetComponent() { CircularWavyProgressIndicator() } - 然后确认导入语句正确:
import org.jetbrains.compose.material3.CircularWavyProgressIndicator
3. 处理ButtonDefaults.MediumContainerHeight被移除的问题
Material3在这个版本的更新中,移除了ButtonDefaults.MediumContainerHeight这个常量,官方推荐用更灵活的方式设置按钮容器高度:
- 替换成
ButtonDefaults.containerHeight(ButtonSize.Medium),示例:// 原来的代码 Button( onClick = { /* ... */ }, modifier = Modifier.height(ButtonDefaults.MediumContainerHeight) ) { /* ... */ } // 替换后的代码 import org.jetbrains.compose.material3.ButtonSize Button( onClick = { /* ... */ }, modifier = Modifier.height(ButtonDefaults.containerHeight(ButtonSize.Medium)) ) { /* ... */ } - 同样,如果
ButtonSize属于实验性API的话,也要添加@OptIn(ExperimentalMaterial3Api::class)注解。
最后一步:清理构建缓存
做完上面的修改后,建议运行./gradlew clean build(或者在Android Studio里点击File -> Invalidate Caches... -> Invalidate and Restart),避免缓存导致的问题。
按照这个步骤来,应该就能解决你遇到的两个API访问问题了!
内容来源于stack exchange
相关产品推荐
相关产品推荐

