Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nickjanssen/react-native-swipe-a-lot
A swipe component for React Native that works on iOS and Android.
https://github.com/nickjanssen/react-native-swipe-a-lot
Last synced: 27 days ago
JSON representation
A swipe component for React Native that works on iOS and Android.
- Host: GitHub
- URL: https://github.com/nickjanssen/react-native-swipe-a-lot
- Owner: nickjanssen
- License: mit
- Created: 2016-07-05T23:53:23.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-01-25T10:43:12.000Z (almost 7 years ago)
- Last Synced: 2024-11-04T19:52:50.138Z (about 1 month ago)
- Language: JavaScript
- Size: 624 KB
- Stars: 102
- Watchers: 5
- Forks: 24
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-react-native - react-native-swipe-a-lot ★96 - A swipe component for React Native that works on iOS and Android. (Components / UI)
- awesome-reactnative-ui - react-native-swipe-a-lot
- awesome-react-native - react-native-swipe-a-lot ★96 - A swipe component for React Native that works on iOS and Android. (Components / UI)
- awesome-reactnative-ui - react-native-swipe-a-lot
- awesome-react-native - react-native-swipe-a-lot ★96 - A swipe component for React Native that works on iOS and Android. (Components / UI)
- awesome-react-native-ui - react-native-swipe-a-lot ★51 - A swipe component for React Native that works on iOS and Android. (Components / UI)
- awesome-react-native - react-native-swipe-a-lot ★96 - A swipe component for React Native that works on iOS and Android. (Components / UI)
README
# SwipeALot
A swipe component for React Native that works on iOS and Android.
![](http://i.imgur.com/P11FPpR.gif)
#### Table of Contents
* [Why create this?](#why-create-this)
* [Features](#features)
* [Getting started](#getting-started)
* [Running the demo](#running-the-demo)
* [Configuration](#configuration)
* [API](#api)
* [How to use](#how-to-use)
* [Methods](#methods)
* [License](#license)## Why create this?
I've found existing swiping components to be buggy and not working fully on both platforms.
## Features
* Autoplay
* Horizontal swiping
* Works when orientation changes
* Cross-platform
* Works with any view size
* Custom styling
* Pressable circle buttons
* API## Getting started
Install the npm package.
```
npm i react-native-swipe-a-lot --save
```Import the SwipeALot component wherever you'd like to use it.
```
import SwipeALot from 'react-native-swipe-a-lot'
```In your render method, simply use it as a wrapper around Views.
```
class Root extends React.Component {
render() {
return (
This is slide 1
This is slide 2
)
}
}
```## Running the demo
First run `npm install`
Then simply run `react-native run-android` or `react-native run-ios`
## Configuration
You can pass these props to the component:
`autoplay` makes the component automatically swipe to other pages. It is disabled by default. Pass an object as a prop here to configure it:
```
{
enabled: false,
disableOnSwipe: false,
delayBetweenAutoSwipes: 5000
}
````onSetActivePage` is a function that returns current index of the page when user swipes or clicks on a circle
```
{ console.log('Current Page is: ', index); }}
>```
`wrapperStyle` defines how the container that contains the swiping views looks. By default no styling is applied.
`circleDefaultStyle` defines how the inactive circles on your swiper component look. You can pass an object here with style properties that you wish to override.
Default style:
```
{
width: PixelRatio.getPixelSizeForLayoutSize(6),
height: PixelRatio.getPixelSizeForLayoutSize(6),
margin: 10,
backgroundColor: 'rgb(158, 158, 158)',
borderRadius: PixelRatio.getPixelSizeForLayoutSize(3)
}
````circleActiveStyle` defines how the active circle on your swiper component looks. You can pass an object here with style properties that you wish to override.
Default style:
```
{
backgroundColor: 'rgb(245, 245, 245)',
}
```## API
### How to use
Simply save a reference to your component and then call these methods from anywhere in your app.
You can save a reference like this:
```
this.swiper = c}>
```Then simply call the following methods on your variable, e.g. `this.swiper.swipeToPage(1)`
### Methods
`getPage()`
Gets the current page index
`swipeToPage(page)`
Jump to a page. This can be used to overlay buttons on top that
`stopAutoplay()`
Stops Autoplay.
`startAutoplay()`
Starts Autoplay.
## License
MIT