问题描述
setContent {
AndroidView(modifier = Modifier) {
SurfaceView(it).apply {
holder.addCallback(this@MainActivity)
}
}
Column {
Button(onClick = {}) {
Text(text = "Button")
}
...
}
}
这基本上是我在活动的 onCreate 函数中的设置。启动 Activity 工作正常,但是一旦单击按钮,可组合的 Column 就不再可见(是否没有绘制或隐藏在 SurfaceView 后面,我不知道..)。
向 AndroidView 和 Column 添加 zIndex 修饰符没有帮助。 此外,问题(或者甚至可能是 Jetpack Compose 中的错误?)只能通过 AndroidView 中的 SurfaceView 观察到,其他 Views 似乎正在工作。
解决方法
如果有人被这个问题绊倒了:
这是当前 Jetpack Compose 版本 (1.0.0-beta08) 中的一个已知错误,应该会在下一个版本中修复。
作为一种解决方法,我可以反过来做,即在 XML 中创建 SurfaceView 和 ComposableView,并将我的内容添加到 ComposableView。