【发布时间】:2021-08-22 00:39:05
【问题描述】:
以下代码适用于 Jetbrains Desktop Compose。它显示一张带有按钮的卡片,现在如果您点击卡片“点击卡片”将回显到控制台。如果单击按钮,它将回显“单击的按钮”
但是,我正在寻找一种让卡片检测按钮点击的方法。我想在不更改按钮的情况下执行此操作,因此按钮不需要知道它所在的卡。我希望这样做,以便卡片知道其表面上的某些东西已被处理,例如显示不同颜色的边框..
希望的结果是,当您单击按钮时,日志将同时显示“Card clicked”和“Button clicked”行。我理解为什么不调用mouseClickable,按钮声明点击已处理。所以我希望我需要使用除mouseClickable 之外的另一种鼠标方法。但我终其一生都无法弄清楚我应该使用什么。
@OptIn(ExperimentalComposeUiApi::class, androidx.compose.foundation.ExperimentalDesktopApi::class)
@Composable
fun example() {
Card(
modifier = Modifier
.width(150.dp).height(64.dp)
.mouseClickable { println("Clicked card") }
) {
Column {
Button({ println("Clicked button")}) { Text("Click me") }
}
}
}
【问题讨论】:
标签: kotlin android-jetpack-compose compose-desktop