Android compose 长按和点击同时使用(带有波纹效果)

5,229 阅读1分钟

 最近搞compose需要长按和点击同时使用,能找到的用法全是这个:

.pointerInput(Unit) {
    detectTapGestures(        onPress = { /* Called when the gesture starts */ },
        onDoubleTap = { /* Called on Double Tap */ },
        onLongPress = { /* Called on Long Press */},                 onTap = { /* Called on Tap */        }    )}

但是这个会有一个问题,那就是长按的波纹效果没有了,因为clickable的波纹是自带集成的,发一个更好的方法

Modifier.combinedClickable(    enabled = enabled,    onClickLabel = onClickLabel,    onLongClickLabel = onLongClickLabel,    onLongClick = onLongClick,    onDoubleClick = onDoubleClick,    onClick = onClick,    role = role,    indication = LocalIndication.current,    interactionSource = remember { MutableInteractionSource() })