val interactionSource = remember { MutableInteractionSource() }
val isPressed by interactionSource.collectIsPressedAsState()
if (isPressed){
println("Pressed")
//Use if + DisposableEffect to wait for the press action is completed
DisposableEffect(Unit) {
onDispose {
println("released")
}
}
}
Button(onClick={},
interactionSource = interactionSource
){
Text("record")
}
2条答案
按热度按时间a64a0gku1#
如果你只是问按下/释放动作,我不知道如何用按钮来实现,但你可以用
Box
(例如)来实现同样的结果,并使用一些修改器来设计你想要的方式...这里有一个可能的解决方案。
请注意,我使用的是
Box
,其设计与Button
类似。结果如下:
uqdfh47h2#
要获取
Button
中的按下/释放操作,您可以使用InteractionSource.collectIsPressedAsState
来了解Button
是否被按下。您可以添加一个side effect来了解
Button
的发布时间。类似于: