gpt4 book ai didi

android - 如何检测 Jetpack Compose 中是否按下了按钮?

转载 作者:行者123 更新时间:2023-12-04 23:39:37 26 4
gpt4 key购买 nike

我尝试获得一个按钮,该按钮在点击时具有边框半径变化的酷炫效果(如在 Android 12 默认计算器应用程序中),同时还保持按钮的涟漪效果。
我认为会起作用的是:

var pressed by remember { mutableStateOf(false) }
val borderRadius by animateDpAsState(
if (pressed) 10.0.dp
else 20.0.dp
)
val buttonTitle = "uniqueButton"

Button(
onClick = {
// some on click stuff
},
shape = RoundedCornerShape(borderRadius),
modifier = Modifier
.pointerInput(buttonTitle) {
detectTapGestures(
onPress = {
pressed = true
tryAwaitRelease()
pressed = false
}
)
}
) {
Text(text = buttonTitle)
}
但是函数中的代码传递给 onPress永远不会被执行。
据我了解应该是,当点击或按下按钮时。我的错误在哪里,我在 the documentation 中是否有什么误解? ?

最佳答案

大多数 Compose 控件都有 interactionSource用于此目的的参数。以下是您可以使用它的方法:

val interactionSource = remember { MutableInteractionSource() }
val pressed by interactionSource.collectIsPressedAsState()
Button(
onClick = {},
interactionSource = interactionSource,
) {

}

关于android - 如何检测 Jetpack Compose 中是否按下了按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70717310/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com