UNPKG

react-native-movable-view

Version:

Performance friendly movable component for React Native.

94 lines (70 loc) 1.99 kB
# React Native Movable View Simple component that make your views movable. It is using PanResponder so it is **performance friendly :)** ### Installation ```javascript npm install react-native-movable-view --save ``` ### Demo ### Usage 1. Import: ```javascript import MovableView from 'react-native-movable-view' ``` 2. Wrap your views: ```javascript <MovableView> {views_you_want_to_be_movable} </MovableView> ``` 3. That's all. Now you can restart your app and enjoy movable view ;) *Example:* ```javascript <MovableView> <View style={{ width: 60, height: 60, backgroundColor:'red', borderRadius: 30 }} /> </MovableView> ``` ### Callbacks **MovableView** contains 3 basic callbacks so you can have move control about what is happening. *Example of getting x and y coordinates of our view:* ```javascript <MovableView onMove={ values => console.warn(values) } > ... </MovableView> ``` *Table of all available callbacks:* |Name|Note| |---|---| | onDragStart | Executed when user starts dragging object around | | onDragEnd | Executed when user stops dragging. | | onMove | Executed when user is dragging view. **Returns current position of view.** | ### Advanced Usage #1 You can control if the view can be movable using **disabled** prop. *Example (this will make view **unmovable**):* ```javascript <MovableView disabled={true}> ... </MovableView> ``` *Default value is **false***. You can change disabled status any time using **changeDisableStatus()** method. *For this first of all you need to create reference to your MovableView*: *Example:* ```javascript <MovableView ref={ref => this.move = ref}> ... </MovableView> ``` Having this reference you can change disabled status like this: ```javascript this.move.changeDisableStatus(); ``` ### Support In case of any problem or more custom solution you can email me at: tomasz.przybyl.it@gmail.com **I hope you will find this module useful. Happy Coding :)**