Thanks for the awesome support of all contributors so far
Made with contrib.rocks.
$ npm install react-native-haptic-feedback --save
or
$ yarn add react-native-haptic-feedback
$ react-native link react-native-haptic-feedback
$ cd ios && pod install
- In XCode, in the project navigator, right click
Libraries
➜Add Files to [your project's name]
- Go to
node_modules
➜react-native-haptic-feedback
and addRNReactNativeHapticFeedback.xcodeproj
- In XCode, in the project navigator, select your project. Add
libRNReactNativeHapticFeedback.a
to your project'sBuild Phases
➜Link Binary With Libraries
- Run your project (
Cmd+R
)<
- Open up
android/app/src/main/java/[...]/MainApplication.java
- Add
import com.mkuczera.RNReactNativeHapticFeedbackPackage;
to the imports at the top of the file - Add
new RNReactNativeHapticFeedbackPackage()
to the list returned by thegetPackages()
method
- Append the following lines to
android/settings.gradle
:include ':react-native-haptic-feedback' project(':react-native-haptic-feedback').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-haptic-feedback/android')
- Insert the following lines inside the dependencies block in
android/app/build.gradle
:implementation project(":react-native-haptic-feedback")
import ReactNativeHapticFeedback from "react-native-haptic-feedback";
// optional
const options = {
enableVibrateFallback: true,
ignoreAndroidSystemSettings: false,
};
ReactNativeHapticFeedback.trigger("impactLight", options);
or
import { trigger } from "react-native-haptic-feedback";
// optional
const options = {
enableVibrateFallback: true,
ignoreAndroidSystemSettings: false,
};
trigger("impactLight", options);
Argument | Description |
---|---|
method |
See methods below |
options.enableVibrateFallback |
iOS only. if haptic feedback is not available (iOS < 10 OR Device < iPhone6s), vibrate with default method (heavy 1s) (default: false) |
options.ignoreAndroidSystemSettings |
Android only. if Haptic is disabled in the Android system settings this will allow ignoring the setting and trigger haptic feeback. (default: false) |
Method | Android | iOS |
---|---|---|
impactLight | ✔️ | ✔️ |
impactMedium | ✔️ | ✔️ |
impactHeavy | ✔️ | ✔️ |
rigid | ✔️ | ✔️ |
soft | ✔️ | ✔️ |
notificationSuccess | ✔️ | ✔️ |
notificationWarning | ✔️ | ✔️ |
notificationError | ✔️ | ✔️ |
selection | ✔️ | |
clockTick | ✔️ | |
contextClick | ✔️ | |
keyboardPress | ✔️ | |
keyboardRelease | ✔️ | |
keyboardTap | ✔️ | |
longPress | ✔️ | |
textHandleMove | ✔️ | |
virtualKey | ✔️ | |
virtualKeyRelease | ✔️ | |
effectClick | ✔️ | |
effectDoubleClick | ✔️ | |
effectHeavyClick | ✔️ | |
effectTick | ✔️ |
Argument | Description |
---|---|
method |
Possible values are "selection", "impactLight", "impactMedium", "impactHeavy", "notificationSuccess", "notificationWarning", "notificationError" (default: "selection") |
enableVibrateFallback |
iOS only. if haptic feedback is not available (iOS < 10 OR Device < iPhone6s), vibrate with default method (heavy 1s) |