Spa*_*tta 13 android android-jetpack-compose
我将我的 compose 和 kotlinCompilerExtensionVersion 更新为1.0.0-rc02from beta09,Kotlin version to 1.5.21,Gradle version to 7.1and Gradle plugin version to7.1.0-alpha04
从那时起 - 在尝试运行时MyScreen- 我收到此错误:
androidx.compose.ui.tooling.preview.PreviewActivity 不是活动子类或别名
我无法解决这个问题。我该如何解决?
小智 10
使用 Compose 1.0,Kotlin 1.5.10 和 Android Studio 2020.3.1 在大多数预览中仍然存在相同的问题(有些没有)
在这种情况下,在“编辑配置”中的顶部栏菜单中帮助手动创建新配置,其参数与无效配置中的参数相同并带有警告(“androidx.compose.ui.tooling.PreviewActivity 不是 Activity 子类或别名”)。这种新的手动创建的配置对我有用。
我在使用 Bumblebee (AKA, 2021.1.1) Canary 6、7 和 8,使用 compose 版本 1.0.0、1.0.1 和 1.1.0-alpha01 时遇到此错误。我刚刚在 Studio 问题跟踪器上提出了一个错误:
https://issuetracker.google.com/issues/196248459
引用我自己的话:
很明显这是一个“左手不知道右手在做什么”的事情,因为
PreviewActivity它不在那个包中,而是androidx.compose.ui.tooling-android.compose.ui.tooling.preview自 compose 1.0.0-beta09以来它一直没有出现。
通过清除所有预览运行配置,我能够使预览再次工作。这是我的步骤:
-按钮删除所有集合Ok显然,每次我启动预览时,AS 都会在它创建的临时运行配置中缓存“垃圾”。“垃圾”对早期版本的 AS 有效,但破坏了更高版本。清除此缓存让我再次工作。
1.0.0我在使用 Compose和 Kotlin 1.5.10(推荐)时遇到了同样的错误。
我通过在我的 gradle 文件中添加以下依赖项来修复这些问题debugImplementation "androidx.compose.ui:ui-tooling:$compose_version"。
不要忘记将依赖项的版本设置为当前的 compose 版本。
重建并重新加载预览后,一切对我来说都工作正常。
该示例的预览如下所示:
package com.example.compose.basics.ui
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.Card
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.shadow
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import de.db.dbs.travio.compose.basics.themeing.ComposeBasicsTheme
@Preview
@Composable
fun ScreenContent() {
ComposeBasicsTheme {
Card(modifier = Modifier
.padding(8.dp)
.shadow(8.dp, RoundedCornerShape(32.dp))
) {
Text(
text = "Hello World!",
modifier = Modifier.padding(16.dp)
)
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1593 次 |
| 最近记录: |