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

Jetpack Compose Kotlin绘制椭圆报错:需-Xjvm-default选项怎么解决?

解决Jetpack Compose中Shape接口继承的JvmDefault错误

方案一:启用Kotlin编译选项-Xjvm-default

报错原因是Shape接口包含带@JvmDefault注解的默认方法,Kotlin默认不允许继承这类接口,需在模块的Gradle配置中添加编译参数:

针对KTS格式的build.gradle.kts

android {
    // ...其他配置
    kotlinOptions {
        freeCompilerArgs += "-Xjvm-default=all"
    }
}

针对Groovy格式的build.gradle

android {
    // ...其他配置
    kotlinOptions {
        freeCompilerArgs += "-Xjvm-default=all"
    }
}

添加后同步Gradle,编译报错即可消除。

方案二:直接使用Compose内置的OvalShape

你自定义的CustomOvalShape功能和Compose官方提供的OvalShape完全一致,无需重复实现,直接替换使用即可:

// 示例:使用内置OvalShape裁剪组件
Box(
    modifier = Modifier
        .size(200.dp)
        .clip(OvalShape)
        .background(Color.Blue)
)

官方内置的形状经过优化,更适合直接复用,还能避免编译配置的麻烦。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 14:32:45