如何在 Jetpack Compose 中执行触觉反馈

问题描述

使用 jetpack compose,点击事件如何执行触觉反馈。我是喷气背包组合的新手。 这是我试过的 -

val hapticFeedback = LocalHapticFeedback

@Composable
fun Tab() {
    Row() {
        Icon(imageVector = icon,contentDescription = text)
        if (selected) {
            // i tried both the following ways,none are working. 
            hapticFeedback.current.performHapticFeedback(
                HapticFeedbackType(10)
            )
            hapticFeedback.current.performHapticFeedback(HapticFeedbackType.TextHandleMove)
....
            Spacer(Modifier.width(12.dp))
            Text(text.uppercase(Locale.getDefault()))
        }
    }
}

当文本被选中时,我能够看到文本,但没有收到微妙的振动反馈。

解决方法

在 Compose 的 rc-01 版本中,您只能使用两种类型的触觉反馈:HapticFeedbackType.LongPressHapticFeedbackType.TextHandleMove

val haptic = LocalHapticFeedback.current
val context = LocalContext.current
Row(
    Modifier.clickable {
        haptic.performHapticFeedback(HapticFeedbackType.LongPress)
    }
)
,

在应用于 Modifier.clickable {...}Row 中添加反馈逻辑