Kotlin Compose 预览参考未解决

Kotlin Compose Preview reference unresolved

提问人:Kira Resari 提问时间:12/24/2022 更新时间:12/24/2022 访问量:912

问:

我正在使用 Compose 开发适用于 Android 和桌面的 Kotlin 多平台项目,并安装了 Compose Multiplatform IDE Support 插件。

我正在尝试做的是添加注释,以便我可以预览我正在处理的可组合项。我尝试按照本指南来实现:@Preview

https://developer.android.com/jetpack/compose/tooling/studio

我想在模块中拥有共享的 Compose 类,因此我在该模块中添加了以下依赖项:shared-uibuild.gradle.kts

dependencies {
    debugImplementation("androidx.compose.ui:ui-tooling:1.3.2")
    implementation("androidx.compose.ui:ui-tooling-preview:1.3.2")
}

但是,即使在同步之后,当我尝试在我的类 () 中使用或导入注释时,也会收到以下错误:@Previewshared-ui/src/commonMain/kotlin/.../MyScreen.kt

Unresolved reference: preview

这种情况发生了两次:一次在 import 语句中,最后一个单词是红色的,一次是在注释中,它也是红色的单词:PreviewPreview

[...]
import androidx.compose.ui.tooling.preview.Preview
[...]

@Preview
@Composable
[...]

顺便说一句,我还尝试了 Android Studio 在那里为我提供的快速修复选项:“添加对 androidx.compose.ui.ui-tooling-preview 的依赖并导入”。这样做的目的是在我添加依赖项的地方添加依赖项(前提是我先删除它们,否则它什么都不做),这显然意味着 Android Studio 同意我的观点,这就是依赖项应该去的地方。

这让我想到了我的终极问题:为什么这不起作用?我做错了什么?根据我的理解,这应该有效。但事实并非如此。我错过了什么吗?

android-studio kotlin android-jetpack-compose 预览版 gradle-dependencies

评论

1赞 Derek Zhu 6/15/2023
我仍然有这个问题,看看这个 github.com/JetBrains/compose-multiplatform/tree/master/examples/...... 他们可以以某种方式使用 @Preview ,但仍然不能在 .我试图复制设置,但无济于事。但是,如果我通过获取 { dependencies { implementation(compose.desktop.common) } } ''' 来删除此依赖项 ''' val desktopMain,则@Preview引用将消失。它仍然对我不起作用commonMainandroidMain
0赞 David 7/31/2023
@DerekZhu 你找到解决方案了吗?我面临同样的问题。
1赞 salih suat kükrer 8/29/2023
你有没有找到解决问题的方法?

答: 暂无答案