/react-native-swipe-view

Native container for a React Native view which supports swipe behavior (for swipe to delete and such)

Primary LanguageJavaMIT LicenseMIT

react-native-swipe-view

A native container which provides a smooth drag interaction with any react-native view to implement a horizontal swiping behaviour, for example: swiping a "card" view out of the screen to delete it.

Installation

Install from npm:

npm i --save react-native-swipe-view

Now link the native libraries:

Android

Add to the app build.gradle dependencies:

compile project(':RNSwipeView')

Add to settings.gradle:

include ':RNSwipeView'
project(':RNSwipeView').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-swipe-view/android')

Add the package to your MainApplication.java getPackages list:

import com.wix.RNSwipeView.SwipeViewPackage;

@Override
protected List<ReactPackage> getPackages() {
  return Arrays.<ReactPackage>asList(
      //add this pacakge:
      new SwipeViewPackage()
  );
}
};

iOS

In Xcode, drag the SwipeView.xcodeproj from your node modules to the libraries list in the Project Navigator. Then add libSwipeView to your app target "Linked Frameworks and Libraries"

Usage

react-native-swipe-view export a Component called SwipeView which you can use to wrap any hirarchy of child views that you wish to be contained and interacted with a swipe behavior.

For example:

//import the swipe view container
import {SwipeView} from 'react-native-swipe-view';

//use it in your render function
<SwipeView changeOpacity removeViewOnSwipedOut style={{borderWidth: 4}}>
	<Text style={styles.welcome}>
		This is a swipe view!
	</Text>
	<Text style={styles.instructions}>
		Drag it to interact
	</Text>
</SwipeView>

supported props

prop default type description
changeOpacity false Boolean Should the component change content alphw while dragging
removeViewOnSwipedOut false Boolean Should the component be removed from the hierarchy after it is swiped out
minPanToComplete 0.5 Number The distance from the view center which needs to be completed in percents for the "swipe out" action to happen. If the threshold is not reached it will bounce back
bounceBackAnimDuration 0.35 Number Duration of bounce back animation when the threshold defined in minPanToComplete is not matched
bounceBackAnimDamping 0.65 Number Damping param of iOS bounce back animation when the threshold defined in minPanToComplete is not matched
onSwipeStart - Function Callback function which is called when the swiping action starts. A direction param is provided wiht left or right value
onWillBeSwipedOut - Function Callback function which is called right before a view is swiped out (when it passed the minPanToComplete threshold). A direction param is provided wiht left or right value
onSwipedOut - Function Callback function which is called after the "swiped out" animation is done. A direction param is provided wiht left or right value
onWillBounceBack - Function Callback function which is called right before a view bounces back (when it fails to pass the minPanToComplete threshold). A direction param is provided wiht left or right value
onBouncedBack - Function Callback function which is called after the "bounce back" animation is done. A direction param is provided wiht left or right value