在反应原生的可触摸视图上启用触觉反馈

Nad*_*gel 13 react-native haptic-feedback react-native-android

我写了一个反应原生的应用程序,我注意到虽然按钮在点击时看起来像本机按钮 - 它们不像一个人一样(至少不像android按钮行为).

单击Android应用程序按钮 - 发出声音并向用户提供触觉反馈.在声音中,我看到有github讨论和公开问题,但我无法找到任何关于触觉反馈的内容.

如何使我的视图(任何可触摸的视图...)在点击上进行触觉反馈?这在应用程序中非常重要.

我想要这样的东西(在android中)

View view = findViewById(...)
view.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY);
Run Code Online (Sandbox Code Playgroud)

这不需要应用程序拥有权限Vibrate.

使用Vibrateapi 自行管理触觉反馈将导致全局禁用此选项的用户体验不良行为

谢谢

A.R*_*ith 7

如果您将 Expo 与 react-native 结合使用,我建议您使用Expo haptics

安装库后您可以像这样使用它:

<TouchableOpacity onPress = { ()=> { 
     Haptics.notificationAsync(Haptics.NotificationFeedbackType.Success)
     or
     Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light) 
     or
     Haptics.selectionAsync()
   
 } } > </TouchableOpacity>
Run Code Online (Sandbox Code Playgroud)


小智 2

您可以使用内置的振动模块facebook.github.io/react-native/docs/touchablewithoutfeedback

import { Vibration } from 'react-native';
...

<TouchableWithoutFeedback
  onPressIn={() => Vibration.vibrate()}
/>
Run Code Online (Sandbox Code Playgroud)

请记住将此包含在您的 AndroidManifest 中

<uses-permission android:name="android.permission.VIBRATE" />
Run Code Online (Sandbox Code Playgroud)