Jetpack Compose 组件Button点击和长按同时监听代码示例
时间: 2024-02-04 10:03:03 浏览: 306
Button与点击监听器demo
当用户点击或长按按钮时,您可以使用 Jetpack Compose 的Clickable 组件。您可以将ClickEvent 和 LongPressEvent 传递给此组件,并在其中定义相应的操作。以下是示例代码:
```
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.material.Button
import androidx.compose.material.Text
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
@Composable
fun ButtonWithLongClick() {
val buttonState = remember { mutableStateOf(0) }
Column(
horizontalAlignment = Alignment.CenterHorizontally,
modifier = Modifier.fillMaxWidth()
) {
Button(
onClick = {
buttonState.value = buttonState.value + 1
},
modifier = Modifier.clickable(
onClick = {
//add onClick event
},
onLongClick = {
//add onLongClick event
}
),
colors = ButtonDefaults.buttonColors(backgroundColor = Color.Gray)
) {
Text(
text = "Click & Long Click"
)
}
Text(
text = "Button clicked " + buttonState.value + " times"
)
}
}
```
在上面的示例代码中,使用了 Jetpack Compose 的 Column、Button 和 Text 组件,以及 clickable Modifier。使用 remember 可以创建可变状态,在 Button 中使用 onClick 和 onLongClick 传递 ClickEvent 和 LongPressEvent 以执行相应的操作。
阅读全文