问题描述
使用 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.LongPress
或 HapticFeedbackType.TextHandleMove
。
val haptic = LocalHapticFeedback.current
val context = LocalContext.current
Row(
Modifier.clickable {
haptic.performHapticFeedback(HapticFeedbackType.LongPress)
}
)
,
在应用于 Modifier.clickable {...}
的 Row
中添加反馈逻辑