我正在尝试使用Jetpack Compose构建简单的应用程序。 我遵循this documentation,下载了存储库并创建了自己的模块。
代码非常简单:
import android.app.Activity
import android.os.Bundle
import androidx.compose.Composable
import androidx.ui.core.Text
import androidx.ui.core.setContent
import androidx.ui.material.surface.Card
import androidx.ui.graphics.Color
class MainActivity : Activity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
MyApp()
}
}
@Composable
fun MyApp() {
Card(color = Color.Cyan) {
Text("test")
}
}
}
但是我注意到某些可组合的小部件不起作用,并且出现以下错误:
在分析(23,9)中的表达式时出现异常 /path/Projects/androidx-master-dev/frameworks/support/ui/compose/src/main/java/app/myown/MainActivity.kt
其中(23,9)引用了Card
小部件
通过其他小部件的工作方式,例如,我没有问题
@Composable
fun MyApp() {
Padding(10.dp) {
Text("test")
}
}
它可以编译并完美运行。
我遇到以下问题:
我想还有许多其他小部件
答案 0 :(得分:1)
我早些时候遇到了这个问题。
每个具有library(ggplot2)
ggplot(stats.all, aes(x = group.cat))+
geom_boxplot(aes(
fill = group.name,
lower = p25,
notchlower = notchlower,
upper = p75,
notchupper = notchupper,
middle = mean,
ymin = lower,
ymax = upper),
stat = "identity"
)+
facet_wrap(. ~ group.name, scales = "free_x")
功能的Kotlin源文件中都隐含需要import androidx.compose.composer
。我之所以说“隐式”,是因为Android Studio认为这是不必要的,并且倾向于删除该行(例如,您要求它优化导入)。某些@Composable
函数无需导入就可以保留,而其他函数则不能。
据我了解,这是随着库和工具的发展而会变得更好的事情之一,但是目前,请注意该导入并在导入丢失时添加它,您会变得很奇怪-超出正常结果。