react-native-falling-drawer
Customizable falling drawer for React Native
Installation
$ npm install react-native-falling-drawer --save
then
import React, { Component } from 'react'; import { Text, } from 'react-native' import FallingDrawer from 'react-native-falling-drawer' const SCREENS = [ { key: "profile", name: "Profile", color: "red", titleColor: "#fff", hamburgerColor: "#fff", render: () => <View><Text>This is profile screen</Text></View> } ] render() { return ( <FallingDrawer screens={SCREENS}/> ); } }
Refer to the Example
Available props:
prop | type | description | default |
---|---|---|---|
screens | array | An array of sceens to switch between | |
headerHeight | number | Height of the header | ios: 60, android: 50 |
shakeDuration | number | Shake effect duration in ms | 800 |
optionCollapseSpeed | number | Collapse speed of the options in ms | 150 |
optionCollapseDelay | number | Delay between each option animation in ms | 200 |
diversifyAnimations | boolean | If true, it applies bounce, shake and swing animations to the options, otherwise only shake | true |
screens:
Each screen in the screens array is an object which looks like this:
{ key: "profile", // unique key among all screens name: "Profile", // header and option title color: "red", // header and option color titleColor: "#fff", hamburgerColor: "#fff", render: () => {...} // specifies how the screen is rendered customHeader: () => {...} // custom header and option }
License
MIT