IronTony / react-native-haptic-feedback

React-Native Haptic Feedback for iOS with Android similar behaviour.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

  1. In XCode, in the project navigator, right click LibrariesAdd Files to [your project's name]
  2. Go to node_modulesreact-native-haptic-feedback and add RNReactNativeHapticFeedback.xcodeproj
  3. In XCode, in the project navigator, select your project. Add libRNReactNativeHapticFeedback.a to your project's Build PhasesLink Binary With Libraries
  4. Run your project (Cmd+R)<

Android

  1. 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 the getPackages() method
  1. 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')
    
  2. 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)

About

React-Native Haptic Feedback for iOS with Android similar behaviour.

License:MIT License


Languages

Language:Java 44.6%Language:Objective-C++ 19.3%Language:TypeScript 12.3%Language:Ruby 10.7%Language:Objective-C 8.7%Language:JavaScript 4.5%