Events

鼠标事件



@Composable
@Preview
fun DemoEvent(){
    var color by remember { mutableStateOf(Color(0,0,0)) }
    var text by remember { mutableStateOf("0,0") }
    @OptIn(ExperimentalComposeUiApi::class)
    Box(
        modifier = Modifier
            .wrapContentSize(Alignment.Center)
            .fillMaxSize()
            .background(color=color)
            .onPointerEvent(PointerEventType.Move) { // 鼠标事件
                // it 可以获取事件属性

                val position = it.changes.first().position
                color = Color(
                    position.x.toInt() % 256, // x 座标映射到256
                    position.y.toInt() % 256, // y 座标 映射到256
                    0)

                text = "${position.x},${position.y}"

            }.onPointerEvent(PointerEventType.Scroll){
                println("${it.changes.first().scrollDelta.x},${it.changes.first().scrollDelta.y}")
            }
    ){
        Text(text=text)
    }
}