react-native-haptic-feedback
Contributions welcome
Thanks for the awesome support of all contributors so far
Made with contrib.rocks.
Getting started
$ npm install react-native-haptic-feedback --save
or
$ yarn add react-native-haptic-feedback
Linking
$ react-native link react-native-haptic-feedback
$ cd ios && pod install
Or Manual installation
iOS
- 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
)<
Android
- 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")
Usage
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);
Available methods
trigger(method, 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 Overview
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 |
Available methods version 1.6.0 and prior
trigger(method, enableVibrateFallback)
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) |